{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "f09a2572-ece6-4930-b997-e67f25ce4781",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: matplotlib in d:\\conda\\lib\\site-packages (3.10.0)\n",
      "Requirement already satisfied: contourpy>=1.0.1 in d:\\conda\\lib\\site-packages (from matplotlib) (1.3.1)\n",
      "Requirement already satisfied: cycler>=0.10 in d:\\conda\\lib\\site-packages (from matplotlib) (0.11.0)\n",
      "Requirement already satisfied: fonttools>=4.22.0 in d:\\conda\\lib\\site-packages (from matplotlib) (4.55.3)\n",
      "Requirement already satisfied: kiwisolver>=1.3.1 in d:\\conda\\lib\\site-packages (from matplotlib) (1.4.8)\n",
      "Requirement already satisfied: numpy>=1.23 in d:\\conda\\lib\\site-packages (from matplotlib) (2.1.3)\n",
      "Requirement already satisfied: packaging>=20.0 in d:\\conda\\lib\\site-packages (from matplotlib) (24.2)\n",
      "Requirement already satisfied: pillow>=8 in d:\\conda\\lib\\site-packages (from matplotlib) (11.1.0)\n",
      "Requirement already satisfied: pyparsing>=2.3.1 in d:\\conda\\lib\\site-packages (from matplotlib) (3.2.0)\n",
      "Requirement already satisfied: python-dateutil>=2.7 in d:\\conda\\lib\\site-packages (from matplotlib) (2.9.0.post0)\n",
      "Requirement already satisfied: six>=1.5 in d:\\conda\\lib\\site-packages (from python-dateutil>=2.7->matplotlib) (1.17.0)\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "'cp' 不是内部或外部命令，也不是可运行的程序\n",
      "或批处理文件。\n"
     ]
    }
   ],
   "source": [
    "!pip install matplotlib\n",
    "!cp \"人工智能基础/SimHei.ttf\" /opt/conda/lib/python3.9/site-packages/matplotlib/mpl-data/fonts/ttf/\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "# 全局字体配置（适用于所有图表）\n",
    "plt.rcParams.update({\n",
    "    'font.family': ['SimHei'],\n",
    "    'axes.unicode_minus': False  # 解决负号显示问题\n",
    "})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "68553070-12d7-474e-b1b5-4849837f3782",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: pandas in d:\\conda\\lib\\site-packages (2.2.3)\n",
      "Requirement already satisfied: seaborn in d:\\conda\\lib\\site-packages (0.13.2)\n",
      "Requirement already satisfied: numpy>=1.26.0 in d:\\conda\\lib\\site-packages (from pandas) (2.1.3)\n",
      "Requirement already satisfied: python-dateutil>=2.8.2 in d:\\conda\\lib\\site-packages (from pandas) (2.9.0.post0)\n",
      "Requirement already satisfied: pytz>=2020.1 in d:\\conda\\lib\\site-packages (from pandas) (2024.1)\n",
      "Requirement already satisfied: tzdata>=2022.7 in d:\\conda\\lib\\site-packages (from pandas) (2025.2)\n",
      "Requirement already satisfied: matplotlib!=3.6.1,>=3.4 in d:\\conda\\lib\\site-packages (from seaborn) (3.10.0)\n",
      "Requirement already satisfied: contourpy>=1.0.1 in d:\\conda\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (1.3.1)\n",
      "Requirement already satisfied: cycler>=0.10 in d:\\conda\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (0.11.0)\n",
      "Requirement already satisfied: fonttools>=4.22.0 in d:\\conda\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (4.55.3)\n",
      "Requirement already satisfied: kiwisolver>=1.3.1 in d:\\conda\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (1.4.8)\n",
      "Requirement already satisfied: packaging>=20.0 in d:\\conda\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (24.2)\n",
      "Requirement already satisfied: pillow>=8 in d:\\conda\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (11.1.0)\n",
      "Requirement already satisfied: pyparsing>=2.3.1 in d:\\conda\\lib\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (3.2.0)\n",
      "Requirement already satisfied: six>=1.5 in d:\\conda\\lib\\site-packages (from python-dateutil>=2.8.2->pandas) (1.17.0)\n"
     ]
    }
   ],
   "source": [
    "!pip install pandas seaborn"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "b6739b60-e913-4de6-8756-1147a069dbd6",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "线性回归模型参数\n",
      "斜率 (系数): -8.1524\n",
      "截距: 1007.9435\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJNCAYAAAAs3xZxAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAA2BxJREFUeJzs3Xd4VMXbxvHvbjYdEggdQg9dhUgRURER/akIil1RioJiwQIiHaQLAnYRBGkWVBCUYgX7C1IMKp3QqxBCCunJnvePcZcsKQRISELuz3XttezMKXM2Z0menZlnbJZlWYiIiIiIiIhIvrMXdgNERERERERELlUKukVEREREREQKiIJuERERERERkQKioFtERERERESkgCjoFhERERERESkgCrpFRERERERECoiCbhEREREREZECoqBbREREREREpIAo6BYRkXO2f/9+Jk+ezP79+7PULVy4MNvy7GRkZJCcnJxv7XrjjTe4++672bdv3wUfa8WKFRw5ciTXbYYOHcrixYvzfMyPPvqIxMRE9+u4uDhGjRrF7t27z7ud+eH//u//mDdvHidPnsxSt2nTJl577TX+/fffPB1r9uzZTJo0ifj4eI/yHTt20KVLF15//fU8t2v9+vUMGjSIw4cP57jNt99+y5IlS/J8zPy2c+dOGjZsyKxZs/LtmJs3b/Z4vXDhQt59991zOkZUVNRZ718REbk4FHSLiMg5++qrrxgwYAArV670KE9KSuKJJ57gmmuuITU19azHee+99/D3988SVKWlpXHFFVcwc+bMc2rXX3/9xdKlS6lUqdI57XemlJQUunfvTrt27Tyu4//+7//4448/3K9nzZrFunXr3K9nzpzJsWPHsj3m5s2befjhh7nllluwLAsAm83GzJkz6dev3zm177LLLiMgIIDKlSvn+qhQoQI2m41vv/021+MtX76c7t27Z9v2n376iX79+rF8+fKztsuyLCZMmMA777zDqVOnPOr8/PxYsmQJu3btIjk5mQ4dOjB16tRcj7d161YmTpxIdHR0jttMnTqVl19+OdfjzJ8/H5vNdl6P7t27n/Wat2/fTkJCAps3b2bZsmV8//33/PTTT9k+/vzzz1yPt2HDBi6//HKPLye++eYbBg4cmOO9lZ2HHnqINm3aZCl3Op2cOHGCTZs2sWLFCl5//XV69uzJVVddxdGjR/N8fBERyTtHYTdARESKn0WLFlG9enUeeeQRj/IZM2YQHR1NTEwMa9eu5dprr831OIGBgR7PLkuWLOGff/4hNDT0nNp19OhR6tWrh5+f31m3tSyL1NRUnE4n/v7+HnXTpk3j5MmTLF26FLvdTnx8PP7+/jz++OMkJSXxzz//EBAQgL+/P97e3gD8/PPP9O7dm/379zN69Ogs5xs9ejQ2m41nn32WXbt2ucsHDRpERkYGkZGR7rL09HRSUlIoX7481apVy3KsgIAAunXrxnvvvZfrNUZGRlKvXj18fX1z3W7z5s00b96cBg0aZKn77rvvqFq1apafdXYWL15MZGQkP/74I1WqVPGoq1y5MgDly5fHz8+Pa6+9lpdeeonmzZtz/fXXZ3s8V7szt3/Pnj20bt2a999/n86dO+Pn53fWn7dr/2+//ZYaNWqc9TpcbrzxRvfP1+X9999n3LhxrFixgsaNG+Pj4wOAt7c38+fPZ+LEibke85prruG3337LsX7ChAn4+vpy7733usuGDRvGhx9+yIABA5g7d26e2h4QEEC5cuU8yv755x/Cw8PJyMgAzJc+1apVo3Hjxlx99dWsXbuWzp075+n4IiKSdwq6RUTknGzevJmffvqJSZMm4XCc/jUSExPD2LFjuf322wkNDaVbt26sWbOGihUr5ngs1/5eXl4e5RMmTMDb25uxY8cyduxYj7rRo0fTvn37bI936NAhtmzZgs1my/P1PPbYYx496sePH2fcuHFkZGRw9dVXe5S/9957XHfddQwbNoypU6fi5eWFzWbDsiyGDBlC9erVGTJkSJZzrFixgs8++4yAgAD69OnjUXfixAn8/f09AvW0tDRSUlJ46aWXsg3gvb29mT59OtOnT8/TNWb+OWVn8+bNdOvWLUv58ePH+eabb7j11luz9JYHBQXRtm1b9+v09HSGDx/Oo48+yvXXX8/atWux2Wy0bNkSwB2cutoyfPhw6tSpw1VXXcWuXbuoW7dulvNnDmgTEhIIDAzkn3/+4dixY1SvXt1dd7brcx2nTp06hIWF5bptZt7e3lmC7uTkZPbt24fdbndvA2C32xkyZAj9+/fHx8cn2y86GjRokOULnsz+7//+j0WLFtG/f3+PL1tq1arFCy+8wCuvvEKnTp245557ztp2h8OR5csIb29vMjIyGD58OPfddx916tQhICDgrMcSEZELo6BbRETOiWtIcK9evTzKn3nmGVJSUnjnnXeoUKECrVq14uabb2bVqlWEhIS4t8vIyGD9+vX4+vq6h5Vv374dLy8v6tevz8KFC4mIiODBBx/k5ptvdu83Y8YMtm/fTuvWrXNs2969e+ncuTO9e/c+63VkZGSQlJREzZo1PcqfeOIJbDYby5Ytw2azkZ6eTnJyMqVLl+baa6/lzjvvzPIlwebNm9m5cyevvPJKlkDn6NGj9OjRAzCB5qBBg9x16enpeHt789JLL7mHSLvmudvt9hwDtLS0NJ544ok893Snp6dnqdu3bx+1atVyvx4xYgQjRowA4IYbbmDVqlV8+OGHpKWlsXLlSo+pBCkpKVx++eUeQ6XHjRvHsWPHeOWVVwB4/vnn+fPPP/nnn3+oV6+ee7uDBw/y5Zdf8s8//7B27VqeeeYZqlatyrZt29zbbNiwgS1btlC6dGkAXnvtNdauXcvq1av5559/sNls/Pnnn/z111/s27eP2NhY5syZg2VZpKWlUbNmTf73v/+5j+cKkM/HmQG96+frenYd28fHh6CgoFyPZbPZstw7LklJSfTs2ZOyZcsydOjQLPUjRoxg0aJF9OjRgxo1atCqVass20RGRhIbG4uPjw/x8fHuURkpKSlUq1bN/UXAlVdeyWWXXXaWKxcRkXxjiYiI5NHff/9teXl5WWf++hg7dqwFWIsWLXKX7d+/3woNDbVq165trVu3zl1+8uRJC8j2sWLFCqtcuXJWnTp1rOrVq1unTp2yLMuy9u7da/n6+lqvvvpqjm07fvy4BViTJ08+7+tzXcesWbNy3CYlJcX977p161ojR460LMuyYmNjrbS0NI9tU1NTrbZt21qlS5e2AMvPz88KDg72eACWr6+v+3VgYKAFWAMHDsyxDe3atbMqVaqU58eqVauyHOPYsWMWYI0fP97aunWr+9GyZUvrtttuszIyMqyGDRtat956a5Z9H374Yat169bu1x9++KHlcDisuXPnWnFxcdbSpUstwHr33XetWbNmWS+++KJ10003uX/OlStXtm699VZr8ODB1qxZs6xff/3V4/hDhgyxatSoYS1evNgCrE8++cQCrIiICOuWW26xfH19rXLlylnlypWzfHx8LIfDYZUrV84KCQmxSpUqZXXr1s3jeK727Ny507Isy5o/f36O92CPHj3c+9WsWdN67rnnPI71/vvvW4C1Z88ey7Is68CBAxZgffzxxzn+vDIf73//+1+2dc8995wFWNOnT89x/40bN1qlS5e2goKCrG+++SZL/SOPPGL5+vpaQUFBlt1utxwOh1W6dGnLx8fHev311639+/dbgLV48eKztlVERPKPerpFRCRPLMvi+eefd88HBZOUaeDAgUyePJnx48dz1113ueuqV6/OypUrufXWW7nmmmvo06cPw4YNo3z58sTExODn50dYWBgHDx4kLi4OHx8f7rrrLqpVq8Zvv/3GTTfdRM+ePfnwww/p1asXDRs25Lnnnsuxfa550nXq1Dnva7z//vtZt24dV1xxBVu2bMGyLJKTkwkODiYsLMw9hN7lxIkTfPfddx5Jw4YMGeLu2X/22Wf59ddf+eijj3jooYcYOXJktj3dgwYN8kgG5nQ6s/ROHz16lOjoaPz9/fnkk0/w9fXN0zB6y7JISkpi586d2O129zBuV49rlSpVaNiwoXv7gIAAHA4HH3zwAdu2beP999/Pcsz09HSP4dOLFy8mPT2d7t27uxOPtW/fnieffJLrr7+ejIwMrrvuOjZv3szNN9/M7Nmzsz2mq1c5MjLSo02tW7emXr16fPDBB/z8888MHjyYkSNHAnDPPfdw9OjRXOdJn8k1gmDt2rXu3nQwc7jzkg8gs7S0NI9jno8FCxbw5ptvcscdd/D444/nuF3Tpk355ptvuP3227ntttvo378/L7/8snuI+Lx585g3bx5xcXFUrFiRFi1aeLwvrpElhw4d8hhZ4JKamkpgYGC2Q/1FROT8KegWEZE8mTBhAqtWraJjx44sX76chIQEbr31Vn799VdGjRpF9+7dPQKn1NRUUlNTWbZsGS+88AJvvvkmrVq1omvXrgQHB7Nu3ToOHjwImKDjtttuY+HChcTGxlK6dGk+//xzrrrqKpo0acLx48dZs2ZNlvm1mW3fvh0wQWZ2AUVOatWq5Q60wsLCGDRokHseskvXrl3dQ62nTJnC9ddfT2hoKB07dgRMQLx7925Wr17Niy++6N6vW7duNG3alDvuuAOAwYMHM3jw4CxtGDVqFKNGjfIoO3P4+PTp0xk9ejQOhwOHw5Hre3GmtLQ00tLSuPbaa1m1ahVw9iHXb7/9NrfffjvXXnstKSkpHkH2mUH3Sy+9RPv27WnevDk7duygd+/eTJs2DTDZz11fDvz4448kJCQAZpj5X3/9xS+//MIPP/xArVq1WLRoEWASft1yyy0e7fnkk0/4+eefSUpK4r777svztWfH1fZ69epRpkwZd7m3t/dZk86dybXMmivo/vzzz/nrr7/w8fHJ8h7HxsZm2X/58uX06NGDsLAw2rZty5w5c9y5AnIyatQo3nrrLV599VX3dIzg4GB3/aeffkpKSgpgfvYJCQmUKVPGnTV/8ODB7nnuiYmJpKSkUKpUKVJSUnjooYf44IMPzuk9EBGR3CnoFhGRszp06BBjx46lXbt2PPDAAyxfvpzAwEBuueUWnnrqKe655x68vb0ZNmwYY8aMAUwgevnll/Pmm2/yzTffsGbNGo/52O+//z52ux2n08mbb77Jt99+y8KFC93By+7duwkICGD//v1UrlyZjRs3UqdOHXewcCZX0H333Xef07Xt3bvXY153q1atSEtL45ZbbiE0NJQZM2a461yB7vPPP8+dd97pcZw5c+awevVqj/ZdffXVXH311e6e8H79+nnMN8/IyOCyyy7j6aef5plnngFML3dCQgJly5b1OP7IkSPdvbvvvPOOO4DKi+uuu46mTZvmeXubzcZvv/1GTEwMXbt2JSMjgwULFrjrU1NTPXqEW7VqRatWrUhNTeWxxx5jyJAh1K9fHzC9q3v27GHz5s0cP36czZs3U65cOaKjowkICKBJkyZceeWV7uR4MTExbNu2LcuXE82bN2fcuHFcd911NGrUKM/XUtCioqIA3D3m69ev58svv8Tb2zvL/G3XFw4uMTExPP7445QuXZqlS5dy1VVXZRuYn+m+++5j7dq19OzZk+uvv94j4AazXj2YL6CaN29Oo0aN+PTTT9334aJFi7jpppsAePHFF1mwYIH7CzAREcl/CrpFROSsqlWrxvfff+8e+u3iytTtGmLryigNuIe8uoLozAH3v//+y4cffkinTp348ssvefvtt3n00UfZs2cPv/32GzNnzuTvv/9m2LBhPP7440yePJlevXrxzDPPcPvtt9OuXTu6d+/u0Rs4btw4xo0bl+drevbZZ5kxY4ZHm8EEJHa7nePHj+N0OlmyZAkpKSm0adPGnYm9S5cuOR43ux5kV4BcoUIFj2HTriHk5cuX9yhPS0sjNTWV2NjYLAEVmECpY8eOPPDAA+6ypUuX8tVXX3kMB09MTKR79+5Mnz49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pqZSp04dunbtymuvvZZlu8zBeU5cmaLj4uLcy4O5tq9Vq5bHnG7X0Nrcjpebbt26sXPnTmrXrk3r1q3p2rVrtsuZAdSsWZMXXniBXr16ebQhu8zW5cuX5+jRo6SlpfHMM89km6TqxIkTgOlhzxxQZefzzz+nX79+JCUleZQnJCRQr149/Pz8chx6DmQZ9g64s3q/9NJLjB49GoBKlSqxevVq6tat67FtdkHtddddx+zZs7nuuusYMWIE7du3z1Pys+rVq7Ns2TIqVapEpUqVPOrKlCnDqlWr+Pjjj7Hb7dkmNjsz6J4+fTrvvPMOfn5+OZ4/NTWV5ORk9/0EcNNNN2W7zNjZfPjhh1nKXnvtNRo1asSTTz55zlMh1q1bl6Xs33//5csvv6Rdu3bMmjUry1re9erVo2HDhhw/fpwuXbowdOjQPJ3L9T7YbDZefPFFjh8/zvDhw7Nsl5KSct6fKRERyRubpTFFIiJyAVzDzM9HbGwsx48fp1atWu4AODExkcTERMqVK3fex73YDh06RMWKFXNcsiw1NdWdfCy3Zc2kZNq+fTv169fP1/t9//79ZGRkuKdQXMjnVERELoyCbhEREREREZECUnDrc4iIiIiIiIiUcAq6RURERERERAqIgm4RERERERGRAqKgW0RERERERKSAKOgWERERERERKSAKukVEREREREQKiIJuERERERERkQKioFtERERERESkgCjoFhERERERESkgCrpFRERERERECoiCbhEREREREZECoqBbREREREREpIAo6BYREREREREpIAq6RURERERERAqIgm4RERERERGRAqKgW0RERERERKSAKOgWERERERERKSAKukVEREREREQKiIJuERERERERkQKioFtERERERESkgCjoFhERERERESkgCrpFRERERERECoiCbhEREREREZEC4ijsBhQWp9PJ4cOHKV26NDabrbCbIyIiIiIiIsWIZVnEx8dTtWpV7Pac+7NLbNB9+PBhqlevXtjNEBERERERkWLswIEDhIaG5lhfYoPu0qVLA+YNCgoKKuTWSGFyOp0cP36cChUq5PoNlcilQve8lDS656Wk0T0vJUlh3u9xcXFUr17dHVvmpMQG3a4h5UFBQQq6Szin00lycjJBQUH6xSQlgu55KWl0z0tJo3teSpKicL+fbbqyPoUiIiIiIiIiBURBt4iIiIiIiEgBUdAtIiIiIiIiUkBK7JxuERERERGRgpKRkUFaWlphN+OS53Q6SUtLIzk5OV/ndHt7e+Pl5ZUvx1LQLSIiIiIikk8sy+Lo0aPExMQUdlNKBMuycDqdxMfHnzWh2bkqU6YMlStXvuDjKugWERERERHJJ66Au2LFigQEBOR7ICieLMsiPT0dh8ORb++1ZVkkJiZy7NgxAKpUqXJBx1PQLSIiIiIikg8yMjLcAXe5cuUKuzklQkEE3QD+/v4AHDt2jIoVK17QUHMlUhMREREREckHrjncAQEBhdwSyQ+un+OFzs1X0C0iIiIiIpKPNKT80pBfP0cF3SIiIiIiIiIFREG3iIiIiIiI5InT6SzsJpxVcnIyBw4cKOxmuCnoFhERERERkbNauHAh1apVIzExMdftxowZg81m83js2bOHDRs2EBsb67FtUlIS69evd7/OyMhg5MiRREdHM2/ePJo3bw7A0KFD2b17Nzt37qRJkyYcPHgwx/OvXbuWli1bXsCV5i8F3SIiIiIiInJW1113HcePH+ezzz7LdTsfHx/atm1LWloab7/9Npdddhm1a9dmwIABVKpUiVKlSrkf5cqV4/7773fv6+XlRWpqKg888AA+Pj44HA7+/vtv5s6dS9WqVVm3bh2JiYmEhobmeP6AgAD8/Pzcr4ODg6lQoQKVK1f2ePj7+/P2229f+BtzFloyTEREREREpIhyOiEyEmJjITgYwsLAfhG6TmfNmkWvXr3w9fX1KHc4HPTp04c+ffq4y9LT07nmmmv4+eefARN022w2HA4HK1as4Pbbbwdg1apVZz3v/v37ad68OaVLl+bvv/8mPj6eH3/8kS5duvD333/z9ddf07FjR/f2GRkZpKSk4HA4iI6O5t9//+XQoUOkp6eza9cuHA4Hfn5+/PHHH9SqVcvjXD169PAIzguKgu4i6nw+XIX1gRQRERERkfwXEQFz58LWrZCcDH5+0KgRdO8O4eEFe24/Pz8qVarE0aNHs9QdPHiQypUr43CYcLJPnz7s2rXLXe/K+p2YmMiPP/7IkCFDSEpKwsfHJ9v1rtPS0khPT8ff359du3YxZ84cYmNj+e233yhXrhy//PILGRkZfP/99yxfvpyEhARmzpxJRkYGTqeTBx98kPnz57N27VpmzJhBQkICMTExDBs2jEaNGuFwOLj66quznPvkyZO0atUqP9+2bCnoLoIyf7iSkpykpq7Hbv+B0qU34nAkYFlWln1OnYJ//4XERBN82+0QEACVKkGpUtmfx7IgKQkyMsDLC/z9oSSubmBZFmlpaXh7e2t5hwsUGBhIo0aN6NChA23atHH/RywiIiIi5yYiAkaPhqgoCA2FwEBISIANG2DfPhgxomAD7zJlytCmTRsAHnnkEWrUqEH//v0JCQlh4MCBnDx5khUrVgBw1VVXUa1atSzH+O677wgICODqq6+mbdu2/P777zme75prruG3337jhhtuoHLlytx3333cdtttnDx5EofDwbBhw9i8eTOxsbHEx8cTEBDAsGHDiIqK4q233gLglltu4ZZbbmH9+vXcc889fPLJJwDMmDGD1atXU6tWLWJiYhg+fLh7n4tBfxEXMZk/XNWqOYmOnsSxYwsJDa3KFVe0oXr1Mvj5eXZfp6ZCTIwJtr28TOBsWSaYttuhTBnw8SHLPqdOQVqa2dZmA29vE6Cfue2lzrIsnE4ndrtdQfcFsCyL+Ph41q5dy4oVK7jhhhsYP3483t7ehd00ERERkWLF6TSdcFFRpmfb9SdqUJB5vXUrzJsHTZsW3MjWjh070qxZM6Kjoxk1ahSvvvoq9erV49tvvyUjI4N69eq5t+3Zs2e2x6hTpw7Jycns2rWLb7/9FofDgZeXF/v27SMsLIyjR49Srlw50tPTSU9PB+CDDz5gzJgxvPfee8TExPDaa6/x/PPPM3ToUPbv349lWRw4cIAGDRpw4MABwsLCcryGNWvWsGHDBo+yjIwMZs6c6RF0W5ZVoHGAgu4i5MwP186d8zl5chFDhgzl5pvvJCXFRmCg+abLdU9YFhw4YHq4/fw8e6otywxDOXOfxEQ4fBjS002Abbebc6emgsMBVauaXvKSwrIs0tPTcTgcCrrzyc8//8ygQYN47bXXeOmllwq7OSIiIiLFSmSkCawz/w3vYrOZ8i1bzHb16xdcOxYvXszYsWPp1q0b48aNY8iQIVSvXp3jx4/Trl27s+5/xRVXcPfddzNmzBjmzZvH3r17qVixonuYt5eXFzt27KB+/fruudX33HMPnTt3xuFw0KxZM77++msaNWrE5MmT6dOnDw888AA//fQTDRo0YPfu3e754pnt37+fgwcP0r17d6ZNm0ZKSgpNmjRx/62fnJxMqf+GAycnJ7Ns2TJuueWWfHrXstKM3yIk84cLLA4d+pLbb+/ILbd0wW634eNjhoOnpJzeJyXFBNY+Ptl/IM/cx7JMUJ+eboJ0V8+4l5d5nZ4OJ06Y7UTO1/XXX88jjzzC119/TVpaWmE3R0RERKRYiY093XmWnYAAU3/G6lv5KiEhgSeffJK///6bU6dOsWvXLqpXrw7Azp07adiwoXvbjIwMEhMTycjIyHKcO+64g6VLlwLQu3dvHnvsMXddXFwcrVq1Yt68ee6yCRMmULVqVSpUqMDhw4dp2bIlAQEBhIeHs3TpUjp37sznn3/uXmrsmmuuce+7c+dOHnnkEe6//34qVKjAX3/9Rfv27YmNjSUmJoZTp05x8OBBAgMDOXXqFKdOnSIlJYWbbrop39+/zBR0FyGZP1wJCQdITd3Ptdd2cNe7eqQz38sZGafncGfnzH3ONUg/F66e9YQE81xYgXtRaUdJ16FDB+Lj49m4cWNhN0VERESkWAkONh1iCQnZ17tGuQYHF1wbSpUqhcPhoFKlSkybNo1WrVq519w+cOAAN9xwg/u1w+EgMDCQX3/91eMYkZGRrFy5ksDAQHbt2sXKlSvp16+fuz4oKIjevXszZswYd0fNhAkTSE5OpkGDBixbtoxTp04xatQoOnbsSHBwMJ07d2bjxo3079+fRo0aUaVKFffxtmzZwsaNG5kzZw6+vr74+flx8uRJgoKCcpzy6OXllW1yt/ykoLsIyfzhSk6OwssLqlat4a53BdeZ7wkvr9OBdXbO3Odcg/S8Skw0w9z37/d8Tkw8t+NcqKLSDoEaNcy9GxUVVcgtERERESlewsLMdNODB7N2IFmWKW/c2GxXUKKjo0lISCAtLc39SEpKokOHDjz55JMcPHjQozwmJoZrr73W4xiPP/44n3/+ObNmzWLixIn873//o2XLlh7bDBkyhH///ZcPPvjAXfbjjz+ya9cu5s6dy7vvvsukSZMYOnQoYNbg7tu3L9OmTaN///4ex+rUqRN//PEHDRo0cJdFRERw2WWX8dJLL1G+fHlat25NaGgoDRs2JCQkhLFjx+b3W5eFgu4iJPOHKyPDJBJwZX+2LDPn2t8fMi+V5+trAvXU1Ow/kGfuc65Bel645ognJpo54X5+5jlz+cVQVNohhs9/GflcSTFEREREJG/sdrMsWPnyZvppXJyZBhoXZ16XLw/duhXs8sBly5YlICAAh8OBw+Hg0KFDdO7c2b0UV4sWLbj55puJiIjAz8+P4OBgd+zi+vvvo48+Yv/+/dStW5fZs2czYMCALOepUKEC3bt3Z8KECe79brzxRqKiorj99tt54YUXSE9P58knn2TLli3ExMTw888/4+/vz4oVKzz+1rTb7QSckZxqzZo1XHfddQQEBNCnTx+2bdvmfnTr1u2irNOtoLsIyfzh2rsXLKflzkKenGwCyHLlPIeF22xme4fDbJORQa77nGuQfja5zRE/cWI/PXveQuXKwVSsWJEePXoQex4TTzIyMrjhhhuYM2dOlroZM2a4h7UEBtqoV8/GdddVLrJz1YcNG0aPHj2yrZs/fz5hYWGEhITQp08fkpOTPep37NjBTTfdROnSpWndujWbNm1y182ZM8f9Ppz5yOl82Zk5cyZNmjTB19eXZs2asXz58hy3jYuLo0aNGtn+XERERETkwoSHm2XBmjeH6GiT/yk6Glq0KPjlwlxiYmJYuHAh9957L/Xr16dKlSr88MMPVK1alfXr19OoUSOuueYa7r33Xnbu3OnezzVUvEqVKvj5+RETE0PPnj1p3749S5Ys4e233wZwD/keOHAg8+bNcwft0dHRzJo1i0GDBjF06FCioqIYOnQof/31F02bNqVevXps27aN3377jY4dO7J3716PdmdkZLiD788//5x77rknx2vMbjnm/Kagu4hxfbgaNoRSKdGExO7GkXKKwMCcs4oHBJyuS083wXZ6Otnuc65B+tnkNEfcsiz69r2f0qVL8847XzJp0uusXLnSI3FCXliWxfPPP89PP/2UbX1ERASdO3fmt9/WsXDhOhYvXse8ed96bHOhc9Xzy2effcb48eOzrVu8eDHdunXjlltu4ZNPPmHjxo288MIL7vq4uDg6dOjAsWPH+PTTT2nXrh033XQTMTExgBlKs27dOo/H77//TnBwMFdeeWWe2vfWW2/xzDPP0KtXL1atWkWbNm3o3Lkz3333XbbbDxgwgAMHDpzbmyAiIiIieRYeDlOnwltvweTJ5nnKlIsTcC9cuJCyZcvy1FNPUa5cOdatW8fcuXMJ/m8iebVq1XjnnXdYt24dBw4c4P7773cnUjszkW6LFi2YMWMGAJs3b+bLL7+kb9++7mPVqlWLtm3bArBhwwbq1KnDxo0b+f777xkxYgReXl4cPXqUgQMHMnHiRKZPn06NGjX4+eefOXXqFN988437XEuWLOHjjz9m4MCBrFixgvLly9O0aVNSU1N58803CQ0NdT9mzZpFUlJSgb+XWCVUbGysBVixsbGF3ZRsrZ4732peqZJ1aMUKy1q3znJu325Z8fG57uN0WlZSkmWdOmWenc6ct01IsKx9+yxr+3bL2rrVPO/fb8rPxalTZv89eyxr797Tj59/jrQAa/36Y9bWrWa7999/3/L29rYyMjLyfPyuXbtadevWtUJCQqzZs2dnqb/qqqusyZMn59gO12PPHsvdjjM5nU4rNTXVcub2hlmWNXLkSKt79+55bntm06dPt0qVKmU1adIk22M0atTIuvXWW92vIyMjLYfDYR09etSyLMuaOHGi5e3tbR04cMC9Tdu2ba1JkybleM5p06ZZoaGhVnJy8lnbl5GRYVWuXNkaOHCgR/k111xj3XTTTVm2X7lypeXt7W35+/tn+3NxHbN58+bWV199ddbzy8WVkZFhHTly5Jw+iyLFme55KWl0zxeepKQka8uWLVZSUlJhNyVfRERE5Ok+ysjIsKKjo/PtvDm9fykpKVnK0tPT8/S3fFJS0jn/XM7288xrTKme7iLKHhPtMbHaFhcH27bBjh1w6lS2+9hsZih1YGDWNbszq1WrFoGBNmrWtNGggY1GjcxzjRo2Jk16+ZzamdMc8ehokzwrI8PpniOempqKj48P9nOYfHLkyBF+//13SpcunaUuIyODv//+m5YtWxbIXPX8tGbNGlauXEmLFi2y1B0+fJitW7fStWtXd1ndunVp3Lgxq1atAuCHH37g+uuvJ9SsJwfAnXfeyQ8//JDt+VJTUxk/fjzDhw/HNw9zBQ4ePMjRo0e5+eabPcobNWqUZbhOQkICvXr1YuDAgVSsWPGsxxYRERGR4qlZs2Z5+tvdbrdTtmzZfDtvTvOsXTmDzjx3Xo95MeZvZ0dBd1HVujVUrmwW7c50c3382Wc4ypTh399/h/h4wARMdrudJUuW5OnQK1asICIiIttHnz598nSM9PR00tPT8fJKx+FIJzExnbQ0U2ZZFo0aXUG5chUZP/4lUlJOsmvXFl577TUefvjhc3obvv/+eypVqpRt3ZYtW0hKSmLQoEGUL1+KNm0qMnz4M8T/974APPPMA7RrV5+EhDT8/eG775Zit9v57bffzqkdF2rmzJm0atUq27rDhw8DcMUVV3iU16hRwz035vDhw7nWn2nBggUkJyfTvXv3PLXPtUzCmZnGN2/e7BHoAwwaNIjSpUszYsSIPB1bRERERKQkcxR2AyQXNpuZYF25sskCduQIXdq1I8DPj8+WLKGvry+ULs1nX3xBSEgIHTt29Njdsswc5owM08Pr62sO2bhx4wtq1t69e6ldu3aO9Z988iOtWrVj6tTP6NmzPV9+aRa7v+aaa3jjjTfO6Vy5fXO1du1avLy8aN++PWPGjOGff7YzfPhg4uNjef31+djtMHz4G9x8cyM+/fRdBgx4igEDXuTxxx/PspxBQcvtOlzzSM78dtDf35/jx4+7t8mt/kxvv/02vXv3zlMvN0DVqlUJCwtj1KhRXHvttVStWpVp06axevVqj5/Zr7/+yvvvv8+aNWtyXOtQREREREROU9BdHNjtUKEClCuHf3Q0d3fowMfffkvf+++H+Hg+/egjHrr1VryTkkwmNJuNxESTVTw5+fTQaj8/k0TN1zcjxyx9drv9rEM0qlatSkREhEdZUhLExJjs56GhYZw8GcuIEY9x222d6Nr1AQ4dOsSECRO46667WLp06TkNMc9J586dufrqq91fItx44434+vry3HNPEhX1BkFBIZQpU4nBgycyadIgvLyiiY+PZ+LEiXk+R48ePZg7d65Hmet1zZo1swy9Ph+uwNjrjLHvPj4+7oDc19c31/rM1q1bx4YNG1i0aFGe22Cz2Zg1axa33347NWvWJCAggLi4OIKCgujWrRtgAv/HHnuMIUOG0KxZs3O5RBERERGREktBd3Fit0P58jzSty83dujAnuPHsaWlsXbzZt556SUz37tUKZJDqnI4rjTp6TZ8fE7PdXatV33jjXXZv39ftqcYOXIkL7/8cq7N8PHxyTboytyz/vbbUylTphRffbUY23+Ty1u0aEG7du344YcfsswdPh8VKlSgQoUKHmU33HANaWlpxMVtpkmT6/DyggEDerFs2TxGjx7NZ5995s6SmBejR4/m+eefB+C9997j8OHDjB49Gsh+Tsn5cM2LPnz4MFWqVHGXR0dHU69ePfc2rmHomesDAwOzHO+jjz6iTZs2VK9e/Zza0bZtWw4cOMA333zD9u3bGTlyJC+88AJlypQBYPjw4ZQuXZohQ4ac03FFREREREoyBd3FULsbbiA0NJQFERF4paTQuG5dWriGjJ86hd+pHVS1lyK+dBWS7UFgs7nXq05Ohg8+WEFISGq2idYqV6583u1yJXID2LNnB3Xq1HEH3HB6zvKuXbvO+xyZbd68GX9/f+rUqeMui46OBsCyknHFo8nJKe5h2IcOHTqnc9SoUYMaNWoA5r1JTk7O917eGjVqUKVKFX7//XeaN28OmKXS/vzzT66//noAWrdunWXprg0bNlC1alWPMqfTyeeff86AAQPOqy3BwcHcf//9PPnkk1SoUIH+/fu76xYuXMi+ffuyDCvv2bMnPXv2vChrHIqIiIiIFDcKuoshu91O165d+fiTT/Dx8aF7795QuzYcOWKiaiDAeYqA2J2kOAKJCahKsk8QNpvp+a5evTE1apwOkAtC+fLl+e6778jIyHAPi162bBlg1vTLDyNHjsTf35/58+e7y+bNm4e3t7fH2tSjRo0iMTGRadOm0b9/fzp37uwRqBc2u93OXXfdxTvvvMOjjz5KqVKl+PTTT/n333/p0KEDAPfccw8TJ07ku+++4+abbyY2Npa5c+dy7733ehzrjz/+4PDhw3Tq1Om823P48GFmz57N5MmTPbLGr1ixgtTUVI9tb7vtNvr06UPnzp3P+3wiIiIiImfatWsX6enpNGjQwF22ZcsWtm3bxm233VZomcjPh4LuYuqRRx5h4sSJ2O12vvrqK5NwLSSE5KMnsR05jK/TBN++6QlUinMF31VI8gnG6bTx37r1BaZTp05MmDCB6667juuvv55Dhw7x+eefU79+ff73v/8BJrg7duzYefccP/XUU9x8882UL1+e8PBwfvzxR+bMmcOAAQMoV64cAH/++SeTJ0/ms88+o0uXLnz66af06tWLlStXevTC58XZht1fiJdeeokFCxbQokULWrZsyWeffcYdd9zh7vlu0aIF9957L3fddRddunRhzZo1JCYmZunR/uGHH6hcuTJ169bNco68vt+jRo2iZs2aPPHEEx7l2SXg8/HxoUaNGprjLSIiInIJ+vLLL7nzzjvzvP2bb75J3759PcoOHDhAjRo12Lx5MzVr1sTX1xeH4+xh6Lhx4/j7779ZvXq1e6Tlxo0b6dGjB4mJiTz99NP06NEj2yV5ixotGVZMNWnShGbNmtGhQ4fTPcc2G5QNYV+pJvxbqg6pXv7u7U3wHUnlmK2Udsbg5ZX3ocCWZTrQExLMc15GEV911VV888032Gw2pk2bxqJFi7jmmmtYvHixO3HYjBkzaNeu3blctof27dszd+5cli1bRu/evVm3bh1z585l0qRJgFnW7NFHH+Wmm26iS5cuALz77rv8/vvvTJ8+/bzPWxBq1KjBhg0baN68OZs3b6Z///588sknHtt8/PHHDB8+nK1bt9K4cWPWrFnjHvrusmrVKtq0aZPtOfLyfkdGRvLBBx8wadIkZScXERERKeEcDgc1a9YkLS3trI+2bdu6R7h++umnvPDCC4BZccelVKlSeHt7Y7PZsjxWrFjh3u7AgQN88cUXfPTRRx5/k1aqVIng4GAcDgeXXXYZTz75JE6n8yK9G+evSPR0z549mylTpnDw4EFuvfVW3nrrLcqXL8+mTZvo2bMnkZGR9OrVi0mTJrl7J3Oru9T9/PPPZGRkcOjQIQYOHOhR5+sLfn42TiaGkFy2LP6pMZRJPIxPusly7ZeeSLX0SKzdAVC1KgQHk+3k7v/klgU9ICD3dt50003cdNNNOda//PLLee49zilLeNeuXenatWu2dQ6Hg40bN3qUNWrUiJSUlDydsyDMmTMnx7qaNWvy0Ucf5VjvcDgYOHBglp95Zj/++GOOdXl5v8PCwkhLS8t1m8xyy96uOd4iIiIixZurRzovPdM2m8293b59+1i7di2AO2gOCAjg5MmT+Pj4ZElI7O3t7TFcfPDgwTz33HM0aNCA+++/nx49enDrrbd6rObz4IMPUrFiRQYNGsTQoUPPKVnyxVboPd0//PADzz77LK+99hp//fUXcXFxdOnShZSUFDp16kTz5s1Zv349W7ZscQcsudVdKlw3XWJiYpa6119/ndtuu41bb72V++67z6POZjMBscMBSck2TjnKcrhMY46Wqkuy/XSUbEtMhMhI2LoVTp7Mtvvale08MdEcz8/PPGcuF8lJQkICYP6DFREREZHi58wla8/GtSywj4+PO9jO+G9eq5+fH2XKlCEgIACHw+HxyLzvrFmz+PPPPxkyZAhff/01X3/9NX5+fnz55Zd8/PHHnDx5klq1atGsWTPmzJlDWlqa++/OoqrQe7rnzZtHr1693D2ir776Kk2aNGHZsmXExsYydepUAgICGD9+PE8//TQ9e/bk66+/zrHuUlGrVi3sdjsRERGEhYV51C1evDjXfQP+68Q+3UNtI9VelrTyZajoG4vviUwRc2Ii7NoF/v5QpQqULQs2G5Zl9k9PN8G2qzM8cxb0EyfMbrkNMMi8jJiXl+mJLyEDEko811ruRSlpnYiIiIicH9fc7MxL1iYmJvLVV19x++2357jfqVOnAM9h5rmZNGkShw8fpnr16sTGxvLWW2+xc+dOFi9eTIMGDcjIyGDNmjXuVZcsy+LEiRMXcGUFr9CD7qioKMLDw92vXd+mbNq0idatW7t7ya644gq2bNkCwF9//ZVjXU5SUlI8hhXHxcUBZomlojgPoFSpUrRq1YolS5bQqVMn9zzovPL3h+rVswa8EIxVMRhiY+HwYdPjDZCUBLt3Y/0XfKf4lyU5GXx8sgbJNpspT0oyx8+paYmJEB1ttrMss5+/P4SEnH1o+sXmGgqtIdH5w7V0We3atalZs2aR/IyVZE6nE8uy9HOREkP3vJQ0uucLj+u9dz3cWraEo0cLr2EAlSvDunXntEvmv5Fd8Uh8fLy7vnbt2vj4+Hhsl/naLctyB91+fn4kJiYSExODw+HIMjXYtd+CBQsoW7Ysf//9N6+++iq9evXCZrPRu3dvoqOjeeONN1i/fj0HDhwgIiKCn376icDAQP788898/1ve1aacYsa8fsYKPehu1qwZX331Fc8//zw2m43Zs2fTqlUr4uLiqF27tns7m82Gl5cXJ0+ezLWubNmy2Z5nwoQJjBo1Kkv58ePHSf5vma2ipkuXLgwZMoSnn36aXr16ER4efs5DPLy8zANMr7VbYCCEhWGLj8f+77/Y/wu+bf8F394+fpTxqUiaT5lsu6a9vExxWtrp42eWkmIC7owME2jb7WZOeHq66SG3rJyD9YvNsiz3sJeSkhegoDidTjZt2sSHH37I//3f/zF06FCOHTtW2M2SMzidTmJjY7Esyz2US+RSpnteShrd84UnLS0Np9NJeno66Zn++HYcPYrt0KFCbBlY4NGmvHD9jZyenu7x78xc1+sKTtPT091fPqSnpxMVFUVAQAB2u51ly5bx8MMP4+3tneXezMjIID09ncsuu4zY2Fj69+/PokWLyMjIYOXKlbz++uts3rwZgKFDh3LttdfSrFkzevbsSYMGDUhLS8v3v+Vd13LixIlskwxn/gIiN4UedL/44ovu+dl+fn6sXr2aefPmsWnTpiy9u65vRxwOR451OQXdgwcPpl+/fu7XcXFxVK9enQoVKhAUFJT/F5YPKlasyNtvv82oUaPo27cvvr6+BAUF5X9gaFmQmgrx8eY5kwy7gxTvUqR5+WNh89jF6TR52M7Mq2BZEBdnAvLsci6kp5ue8tKli8ZQc9d/EHa7XUH3BXB9k5mUlERISAgTJ07kxhtvLOxmSTacTic2m40KFSrojzEpEXTPS0mje77wJCcnEx8f7zFXGYDKlSn08ZSVK+cpIVpmrg4/h8ORY+ef3W5391y7/u36+9rhcPDPP//QuHFjHA4Hd911V7Y5q+x2O15eXjgcDnbv3k23bt1o1qwZhw4dYuPGjTRo0IA+ffrQsmVLnnvuOdq1a8fTTz9Nt27d+OWXX5gxY0aBrLzjcDiw2+2UK1cu23XB87pWeKEH3SEhIfz+++9ERkYyefJkTp48yUMPPcTkyZPZtGmTx7bx8fH4+PgQEhKSY11OfH19sx2ibbfbi/R/Ri1btmTp0qVs3bqVjRs3uodnFAjLMonVli6F3bs9qmL9K7Kpekf2VmyJEy+OHoWaNeGuu0wvdmb//gsLFpgh5Nl9rtPSTO62//0PKlUquMvJK6fTSXx8PKVLly7S90JxEBgYSKNGjWjWrJneyyLO9YtRPycpKXTPS0mje75wuDpxXA+39esLr1EXwHUNNpuN1P86586MuTL3MLuuOzk5meTkZGw2G9988w3t27c/a+eWa9/Vq1fz559/EhMTw1tvvUWlSpW4//77ueqqqwBo06YNX3/9NXv27GHFihV8/vnn7vni+d2B5mpTTp+lvH6+Cj3odqlatSpffPEFM2bMwMvLi5YtWzJz5kx3/d69e0lJSSEkJCTXukuRzWajcePGNG7c+OKc8LXXYNUqTg0YRamIX01Z0jHYMZsjh3/lgyrD+LNxV4a97CDTdHy3devghx+gXr3sh56np5vE6bfcYqa3FDan08mxY8eoWLGifjGJiIiIiPwn8xzp0NDQPM+Z7tevH8888ww7duxgxYoVTJgwgZSUFCzLwsfHJ9e/ue+//34eeOABd698UlIShw8fdk8v7ty5M/3792f9+vX8+OOPXH755ec8bP5iKzIRxltvvUXDhg258847AWjbti2xsbHMmzcPgFdeeYUOHTrg5eWVa53kA5sNbryRUht+Zuf0VURWu95dVeVUJEN39uDjPxsQHvGB6bY+Q3CwyXCeU+b+xERTX4SX0hMRERERKfHONZh1bR8QEIC/vz9du3alS5cuXHbZZYwZMwZ/f3+8vLw8RgOc2Tv9zTffMHHiRB599FGaN29O5cqV+eCDDwDYsWMHDzzwAOXKlSMkJIR69eqRkpLCm2++6ZE0u6gpEkF3TEwMkyZNYsqUKe4yh8PBjBkz6NOnD5UqVWLhwoW88sorZ62TfGSzUe/xG6iz/ycOzP+JuOY3uKt8D+6Gxx6DBg1g5kyPueBhYdCoERw8aEasW5ZJln78OMTEwIED0Lix2U5ERERERIqm9PR0Dhw4QKlSpc76+PXXX91B94kTJ+jcuTP//vsv06ZNA2D48OGcOnWKlJQU0tLSPB6ucwHs27eP5cuXU7duXd59911OnDjBo48+Sv/+/WnWrBnXX389e/fupUyZMnTq1Ilx48YxZMgQoqOjC+dNyoMiMby8TJky2a6tduedd7Jz507Wr19PmzZtqFChQp7qJH/Z7VD94evh4VXw668wahSsXGkq9+yB3r1h7FgYMgR69MDu40P37rBvnxlqnphoer1TUszQ8pAQaNUq61xwEREREREpOho2bMjMmTPp2bPnWbf9+OOPqV+/PmDW2v7nn39YuXKlO07LKccWQMeOHQn+bxjsM888wzPPPONRP3v2bL7//ntWrFhBu3btAFixYgX33HMPY8eOZfTo0VSpUuV8L7PA2awSujBxXFwcwcHBxMbGFtns5UXa77/D6NHw3Xee5TVqwODB0LMnn3zhy7BhZukwb2/zKFXKJFirVQtGjCDbOeEXm+Z0S0mje15KGt3zUtLoni88ycnJ7Nmzh9q1a+c5s/WlyLIsjh07RqV8yprsWg87u/v5wIEDVP4vM3t+J1I7288zrzGlPoVyfq65Br79Fv7v/0xGNJf9++HJJ7HCwvCe8Q41KyVz001m82uvheuvN8nToqJg3jyz7JiIiIiIiFw6bDZbvgXckPuKU6Ghofl2noKioFsuzNVXw9dfw5o1cNtt7mLbwYPc89MzfL4xjLsOvUXVkGTKlDE52mw2CA2FLVtgxw7Ytg0WLjSPbdsUiIuIiIiIyKVDQbfkj6uuguXLYe1auP12d3G5pEM88H/PMm5BHdr/8wbe6UmAGWIeFQXPP2/W6+7d2zz+9z94+GGIiCik6xAREREREclHCrolf7VsCUuXsu+LDfxfhTvcxWUSj3D/6ucZ90kdbvz7NaL2J7Jnj+kgT0w0ydXKljX//vZb6NdPgbeIiIiIFE8lNG3WJSe/fo4KuqVAVL/jSj57aAk9m0XwZ60u7vLgpKPct6Yf76+qwxMJUyjrk0D58uDjA76+UK6cSbi2YwfMnauh5iIiIiJSfHh7ewOQmJhYyC2R/OD6Obp+ruerSCwZJpceux26d4fR+5rxXNQXtGnwF/duH0OLvYsAqOj8lwmpL/LiiYnM5kU+KfsUifZS2GwQGGh6vNevh8hI+G/lgXzjdJrjxsZCcDDUqZO/xxcRERGRksnLy4syZcpw7NgxAAICAvI9o7Z4siyL9PT0fM1eblkWiYmJHDt2jDJlyuDl5XVBx1PQLQUmPNwsCzZ3Lmzc2pQ1NRbSsMo/9Dw4hlYHFmLHopzzOC8eH8ij0a8yO6Q/H5d5GqejNJZlAu/Y2PxtU0SEac/WrZCcDH5+0Lgx3HMPVKyYv+cSERERkZKncuXKAO7AWwqWZVk4nU7sdnu+f8FRpkwZ98/zQijolgIVHg5Nm2buWb4cp/Mzuj+0mbu3jqFz8mfYsQjJiKL/8cE8duJVZgb3Z7r3MwQEBBEcnH9tiYgwS4tHRZns6YGBkJAAGzZAejr4+8OVV+bf+URERESk5LHZbFSpUoWKFSuSlpZW2M255DmdTk6cOEG5cuXydV16b2/vC+7hdlHQLQXObvccIu50Qsh1TXj63wVMTRnBgLRx3Ba3AC+clHFG8+LJoTxmm8z/1e1HWIW+wIVH3k6n6eGOioJGjcyyZQBBQeYRFwcffgjNmpn2ioiIiIhcCC8vr3wL2iRnTqcTb29v/Pz88jXozk9Fs1VySbPboUcPE4hvthrzqM9H3FxtC4sDHybjv1uyrHWSjquHY69TC0aNgpiYCzpnZKQZUh4aejrgdrHZoHx5s254ZOQFnUZERERERMSDgm7JldNpMomvW2ee8yubeHg4TJ1q1uUOCIA/ExrwqPd8bqyylV9qd8NyfSsYEwMvvwy1asHIkXDy5HmdLzbWzOEODMy+3tfX1GeeQ15Q1y4iIiIiIiWHhpdLjrJLOtaokclKHh5+4ccPDzdDunfsgE2bTNlll9Wnfv252HYPh/HjYd48yMgw0fDo0fD66/Dss/DCC2Zx7zwKDjbtT0gww8nPlJJi6l1zyAv62kVEREREpGRQT7dky5V0bMMGE9vWq2eeN2ww5RER+XMeux0aNjTZw++5x/zbbgfCwuCDD0xE/thj4Pjv+6G4OBg71vR8Dx0KJ07k6TxhYSZoPngQzlzj3rLMXO/Gjc12F+vaRURERETk0qegW7I4M+lYUBB4eZnnRo1M+bx5F2m4dZ06MHMm7NwJjz8OroXp4+NNT3itWjB4sGlULlzrhpcvb3qv4+JMxvK4OPM6KAgefthsW2SuXUREREREij0F3ZLF2ZKOhYYWQtKxWrVg+nQTfPfpczr4PnUKXnnF1L/0EuSyHqJr3fDmzSE62rQ/OhpatIAHHjCZy4vktRcQzVkXERERESl4mtMtWZwt6VhAABw+7Jl07KKpWROmTYMhQ0ywPXMmpKaaydqvvgrvvANPPgkDBkClSll2z7puuOlMd3WUF+lrz0easy4iIiIicnGop1uyyJx0LDuJiZ5JxwpF9eomwN61C/r2NenHXY2bMgVq14Z+/eDo0Sy7utYNb9nSPGdezq9YXPsF0px1EREREZGLR0G3ZHG2pGMHD55OOlboQkPhzTdh92547jkTEQMkJcFrr5ng+/nnTfd0HhSraz8PRWq+voiIiIhICaCgW7I4W9Kx8uWhWzfPHuJCV7WqWU5s926znJi/vylPToY33jBjyPv2hUOHcj1Msbz2c1CS5qyLiIiIiBQFxTR0kIKWW9KxESOK8LzfKlVg6lQTfPfvfzr4TkmBt982wffTT8OBAzkeotheex7kZc56cnLxn7MuIiIiIlJUKJGa5Ci7pGNhYcWkl7dyZZg82WQ0nzzZzP9OTDRJ1959F95/36z/PWiQmR9+hmJ97bnIPGc9KChr/aUwZ11EREREpCgp5iGEFLTcko4VCxUrwqRJsHcvDBx4uos3LQ3eew/q1cP2xBN4ZdPzXeyvPRuX+px1EREREZGi5hIII0TyoEIFs8TY3r1mubHSpU15Whq2mTMp36YNtt69zbD0S9ilPmddRERERKSo0Z/WUrKULw/jxpnge9gw9xhrW3o6tg8+MF3ajz56SWcSu5TnrIuIiIiIFDU2yzpzkGnJEBcXR3BwMLGxsQRlN7lVSoaTJ7Feew3rjTewx8WdLvfygq5dTWBer17hta8AOZ2X3px1yRun08mxY8eoWLEidv3QpQTQPS8lje55KUkK837Pa0ypT6GUbGXLYr38MsfXrsU5ciSUKWPKMzLMgtUNG8Ijj8D27YXazIJwKc5ZFxEREREpavRntghgBQebsdV798KYMVC2rKlwOuHDD7EaN+bELV3Z+/VWnM5CbaqIiIiIiBQjCrpFMgsONkPK9+6FceNIDw4BwOZ0Uu7bj6lxWxM2NnqArQs3F247RURERESkWFDQLZKdoCAibh3CI9fu5b2aE4j3KQeAHYsrd3xKg3sv5+TN98E//+R6GKcTduyAdevMs3rJRURERERKFkdhN0CkKHI6Ye5cOBhbmj9vHsSW9Ge4fvO73Pz3q5ROjsKORdnvP4crPoe77zZD06+4wuMYERHmGFu3QnIy+PmZNbK7d1eGcBERERGRkkI93VLsXIze48hIEyyHhoLNBinepfiu2UsMeXAvC696lVjfiqc3XrQImjaFLl1MpI15Gj0aNmyAkBCTAD0kxLwePdq9mYiIiIiIXOLU0y3FysXqPY6NNccPDPQsT/UO5PumL7KywVM0+W06j8dOwufEUVO5ZAksWYLVqTMrS40kKupKGjUyQTuYJcEbNTJtnzfPxOnKGC4iIiIicmnTn/xSbFzM3uPgYBPQJyRkXx+TGsDSsBfYt2o3vP46VKnirrMt/YoXP2nO67s7UStqvcd+NpvpPd+yxfSmi4iIiIjIpU1BtxQLrjnWUVGmtzgoCLy8TvceR0WZ3uP8GmoeFmaOe/AgWJZnnWWZ8saNoe5l/vDcc7B7N7z1FlSr5t6u+eFlDFnckme+7kitY2vd5QEBphc9NjZ/2ioiIiIiIkWXgm4pFs6cY51ZQfQe2+1myHr58ua8cXGQnm6et2415d26ZRoe7ucHzzwDkZH8O+IdjvuGuo91+YEVDF5yFc+uuIU6/64mMdFsHhyc8/kLct66MqqLiIiIiFw8mtMtxUJOc6xdAgLg8OEL7z12Ok3gHht7esnu+fNNoH34sAmWW7QwAXe2c8j9/Kgw8ikGnHiMKt/Mpue/Eyh3aj8ATQ5+S5OD37K2zE2suXkkYWHXZNuGgpy3rozqIiIiIiIXl4JuKRYyz7EOCspan5fe47PZuNEMUT8zIH3kEShd+nQgHhaWewI0ux0efsyX0Yf6sLzSozyUNpc7t46nwqm9ALSK+Z5Wn30PJ26EkSPhuuvc+7rmrUdFmd77wEBzzRs2wL59ZmWy8w2OC/LYIiIiIiKSPQ0vl2Ihr3Osw8LO7/i7dsHYsdknaRs71gSnLVtC/fp5yzgeHm6C2KYtfVhYtjf3N9vB1MYzORFU+/RGK1dC27bQvj38/HOBzlu/2HPiRURERETEUNAtxcI5z7E+B04nrFqV/wFpeDhMnWryq02c6s3tix+j7LHt8MEHULfu6Q1//BHatSP56nb4/P4jodWsfJ+3frHnxIuIiIiIiKGgW4oNV+9x8+YQHW0CxOhoM8f6QoZG79oFBw4UTEBqt5vecXcvua839OwJ27bBnDkeXfMBa39m0vr2jPrpehoeWpmlS/9Csp7nZU68MqqLiIiIiOQ/zemWYiU8HJo29Ux2drY51mcTGwtpaQWfpM2Dw2G67rt2hQULYMwYk0ocqP/vr9Rf3oHIStewrPkItla7CWy2C5q3fjHmxIuIiIiISFbq6ZZiJ0vv8QXexcHB4O1tAtLsFGhA6nDAww/Dli0453/Ev2UbuqvC/v2d51f8j4FftqHx/m84eMA673nrBT0nXkREREREsqegW0q8unWhevVCDki9vLA//BCHv9vElBafsNe/kbuqzrE1PPfNrczccjXP1FmB3WblcqDsFeSceBERERERyZn+xJYSz243CcSLQkAa3sKL9jMe4PVemxjR4FMi/Zq46xqc/IO6z3aEVq1g2TKPbwicTjM6fd0685xd0reCmhMvIiIiIiI505xuEUxv97Bhp9fpPnzYDClv0cIE3Bc7ILVsdlaVv4/l/vdwa9IXPBU1mqon/jGV69dDp05w5ZUwYgQR1Tszd54ty/ri3btnbXdBzIkXEREREZGcKegW+U+zZuZRmAFpRASMHm2WKateHQID7exKuIcHDtxFx7Ql9I0ZTcCOv8zGf/4Jd95JcHAzAqqMoFzTOwgoZSchwawvvm9f9j3YrjnxIiIiIiJS8IpE/9b8+fOpUaMGpUqVokOHDuzduxeATZs20bJlS8qWLcuAAQOwMg2nza1O5Hzld5K2c+F0wty52a8X3rCxnWU+dzH01gicXyzxiKTrxG5k/La7mPh9OC32LSK4tPOC1hcXEREREZH8U+hB965duxg6dChLlixhy5Yt1KxZkx49epCSkkKnTp1o3rw569evZ8uWLcyZMwcg1zqR4ioy0gxtz3W98K02IpvcARs2cGjaV+wIau7epnr03/T54R6GL2xK8z2fU72a87zXFxcRERERkfxR6MPLIyIiaN26NVdeeSUAPXv25L777uPrr78mNjaWqVOn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xY/+xBSR4qFCBbPE2N69MHgwlCplytPSzPrf9epB796we3e2u18K66aLiIiISPGj7OUiUryULw/jx0P//mbu95tvQny86bqeORNmzzbd1kOHQt26HrsW93XTRURERKT40Z+aInJWTifs2AHr1pnnIrGedblyMHas6fkeMcIsug2QkWEC7wYNoEcP2LnTY7fiuG56kXz/RURERCRP1NMtIrmKiIC5c83c5+Rkk+W7USMzR7pIDMkOCYFRo8wyY2+8Aa+/brqxMzJMw+fPh65dTc93gwaF3dpzVuTffxERERHJVTHo4xGRwhIRAaNHw4YNJratV888b9hgyiMiCruFmZQtCy+/DPv2mcaVLWvKnU4TeDdubILvrVsLtZnnoli9/yIiIiKSLQXdIpItp9P0sEZFmZ7VoCDw8jLPjRqZ8nnziuBQ5+BgGD7cDDsfO9ZEqWAa+vHH0KQJPPggbNlSqM08mwt5/zUcXURERKToUNAtItmKjDSdwqGhYLN51tlspnzLFrNdkRQUZIaU791rEq+VK2fKLQsWLIDLLoP774dNmwq1mTk53/c/IgL69YO+feHFF81zv37qFRcREREpLAq6RSRbsbFmDrFrWewzBQSY+tjYi9uuc1a6tFlibO9emDjRZD8HE3x/9hlcfjnccw/8/XehNvNM5/P+azi6iIiISNGjoFtEshUcbJJ2JSRkX5+YaOqDgy9uu85bqVLw0ksm+H71VahY8XTdokVmLbG77oKNGwurhR7O9f0vttMBRERERC5xCrpFJFthYSZYO3jQdApnZlmmvHFjs12xEhhoxl3v2QNTp0LlyqfrFi82KcHvvBP+/POshyrIudPn+v4X++kAIiIiIpcoBd0iki273SxLVb68Cebi4iA93Txv3WrKu3UrHutcZysgAF54AXbvNsuMValyuu7LL6F5c+jcGdavz3b3gp47fa7v/yUzHUBERETkElNc/1wWkYsgPBxGjDDxZ3S06SWNjoYWLUz5JbFOtL8/PPecCb7ffBOqVj1dt3QptGwJHTvC2rXu4os1d/pc3v9LbjqAiIiIyCXCUdgNEJGiLTzcTHeOjDS9pMHBZkhzse3hzomfn+mu7t0bPvgAJkwwY7gBVqwwj1tuwTl8JHM/a+2eO+0ayu2aO711q5k73bRp/rxHeX3/XcPRN2zwbBecHo7eokUxnA4gIiIiUsxdan82i0gBsNuhfn3T6Vu//iUYcGfm5wdPPWWi3GnToHr103XffIP9mqt5+MP/cYPf/120udN5ef8v+ekAIiIiIsWU/vwSEcmOry/06WOi5+nToWZNd1WLE98x+odreG75TdQ9+pvHboU5d7pETAcQERERKWY0vFxEJAdOJ0Tu9SE2/HGCl/Ug7P/mkTF6HN6H9gLQ+NAPND70A9uq3sCyK0eys+r1hT53usRMBxAREREpJhR0i4hkIyLCrHu9davpufbz86FRo148sqg724d9SNvfxhGavAuAhod/pOHhH9le5XreLvcylTu0K9S5067h6CIiIiJS+BR0i4icwZWdPCrKzNEODDRZwTdsgH37vLnv0Z48F/AIV279iEePjKXKKTOBu8GRn3nryA3E+7TF/uMIaN8+66LZIiIiIlKiaMChiEgmTqfp4XZlJw8KAi+v09nJo6LM6mFDRjg4flt3Hm29lXEN5nEg4HTXcuk/f4EOHeC66+D773FmWOzYAevWwY4d5hwFfQ0X83wiIiIikjP1dIuIZBIZaYaUh4Zm7aTOnJ28dGmYOhUiIx3Exj5CUqmHcK5fgH3cGNi+3ezw++9w883sq3I1c6qM5PfAm/Hzt9Gokck0XhCJzbIOi6dAzyciIiIiuVNPt4hIJrGxJlgNDMy+PnN2co+lvBp5YX+kK2zeDB9/bCLd/9Q+sprxf97CB9uu5obkr9mw3mL0aBMg5yfXsPgNGyAkBOrVM88bNlAg5xMRERGRs1PQLSKSSXCw6R1OSMi+/qzZyb284MEHcf69iTm3fsrugCbuqrrH/2DQL7cxb8dV1N+xjHlzrXwb+p2XYfHz5mmouYiIiMjFpqBbRCSTsDATpB48CJblWWdZprxxY86anTxyt51PMu5jWKe/md7hcw6GXO6uq318HRO3dOLJ2S05Mv0r94kuZC52XofFR0bm/ZgiIiIicuE0p1tEJBO73cx/3rfvdBAbEGB6uA8ehPLloVu3s6977RqmHlDKzp/B9xBR+y6a7V1Cxz9HU/3EXwDUj9sAT90B74ez++ERvLnvDrZus53XXOy8DIs/fNhsJyIiIiIXj3q6RUTOEB4OI0ZA8+YQHW16h6OjoUULU56XIPjMYeqWzU5E7bsYd9efvHvzYvaUzXSQiAjq9O/C07PCuSVhEfXDnOc8F/uCh8WLiIiISIEo9KB7zpw52Gy2LI85c+awadMmWrZsSdmyZRkwYABWprGeudWJiFyo8HCTnfytt2DyZPM8ZUreM4DnNEzdstnZWPNOujXewMxOX2Jd2dxdVy/hL174/R5GLmlGu6jPadzQmee52Pk1LF5ERERE8lehB90PPfQQJ0+edD8OHDhA+fLlufrqq+nUqRPNmzdn/fr1bNmyhTlz5gCQkpKSY52ISH7xyE5e/+xDys/ct3t3Mxx961aIi4P0dPO8dSuUr2Cj+ajO7Px4HcPDlxEZ0tK9b2j0Pzzxw32MWHQF9zg/ZdvmjLPOxT7r+fI4LF5ERERE8pfNKmJdxOPHj2ffvn3ceuutPProoxw8eJCAgAD++usvnn76aX777TeWLFmSY11OUlJSSElJcb+Oi4ujevXqnDx5kqCgoItxaVJEOZ1Ojh8/ToUKFbArIpF8tnEjzJ/vuW5248bw8MPQrBmsXw8vvQT1wiyuOPwNHTeMoc6xPzyOsTegEemDhlJn0H0mJfkFnA90z0vJo3teShrd81KSFOb9HhcXR9myZYmNjc01pixSQXdycjI1a9bkjz/+YO7cufzxxx+sWLECAMuyKFeuHNHR0YwaNSrHupy8/PLLjBo1Kkv5jh07KF26dMFckBQLTqeT2NhYgoOD9YtJCoTTCUeOmHnVAQFQpcrpHudDh2D6dChd2tRhWYTt/okbfp1KjYPrPY6THhbGqeefJ/nOO3MNvnM7n6nXPS8li+55KWl0z0tJUpj3e3x8PPXr1z9r0F2kspd//PHHtG7dmlq1ahEXF0ft2rXddTabDS8vL06ePJlrXdmyZbM99uDBg+nXr5/7taunu0KFCurpLuGcTic2m03fBkuBqlw5+/Ly5U3G8XXrzJxsmw2OB93P6tvuo8HBlbT/bQxN48woHkdkJGWeeQbrzTexhgyBBx8ER/b/jed0PtA9LyWP7nkpaXTPS0lSmPe7n59fnrYrUkH3e++95+6Ndjgc+Pr6etT7+fmRmJiYa11OQbevr2+WfQDsdrv+MxJsNpvuBSkUdruZa713r1lHO/MSZV/E3cwvN9zEpFt/pN7Ho+CXXwCw7diBrUcPGDsWhg41Y8dzCL5zonteShrd81LS6J6XkqSw7ve8nq/IfAojIyOJjIykQ4cOAISEhHD8+HGPbeLj4/Hx8cm1TkSkuMl1ibKRNuo90R5+/hl+/BHatTu9Y2Qk9OwJDRrABx9AWlqhXYOIiIiIZK/I9HR/9tln3H777Xh7ewPQsmVLZs6c6a7fu3cvKSkphISE5FonIlIchYdD06Ymjo6NNetph4WdkW28XTvz+OUXGDUKVq0y5bt3w2OPwZgxMGSISWOuLyFFREREioQi09P9zTffcMMNN7hft23bltjYWObNmwfAK6+8QocOHfDy8sq1TkSkuMrzEmVt28LKlfDrr/Df6CDAjFF//HGoVw/eew8yrdggIiIiIoWjSATdSUlJ/PHHH1x99dXuMofDwYwZM+jTpw+VKlVi4cKFvPLKK2etExEpMa69Fr7/Hn7/HW6++XT5/v3w5JMm+H73XQXfIiIiIoWoSC0Zlp1Dhw6xfv162rRpQ4UKFfJcdzZxcXEEBwefNb27XPqcTifHjh2jYsWKSjYihcrpPMvw8rNZswZGj4avv/Ysr1YNBg2CXr3Az0/3vJQ4uuelpNE9LyVJYd7veY0pi8yc7pxUq1aNatWqnXOdiEhxEhEBc+fC1q2QnAx+fmYJse7dzXzvPGndGlasgLVrTfC9fLkpP3QI+vaFCRNg4EAz/1tERERELgp99SUiUsgiIkyMvGEDhISYUeEhIeb16NGm/py0agXLlsH69dC58+nyw4fhueewhYURMH26WZdMRERERAqUgm4RkULkdJoe7qgo07MdFAReXua5USNTPm+e2e6cNW8OX34Jf/4Jd97pLrYdPUrQyy9jCwuDKVMgISHfrkdEREREPCnoFhEpRJGRZkh5aCjYbJ51Npsp37LFbHfewsNh8WLYuBHuvvv08f/9F158EerUgVdfVfAtIiIiUgAUdIuIFKLYWDOHOzAw+/qAAFMfG5sPJ2vaFBYuxLlxI0mdOmG5ovxjx+Cll6BWLZg4EU6dOqfDOp2wYwesW2eez6tXXkREROQSpaBbRKQQBQebpGk5dTInJpr64OB8POnllxM7YwbWX3/B/fef7mKPijJZzmvVgvHjIS7urIeKiIB+/UyethdfNM/9+p3HPHQRERGRS5SCbhGRQhQWZuZuHzwIZy7gaFmmvFEj03uc7z3JTZrAggWwaRM8+ODp4PvECRg6FGrXhrFjcwy+8z0BnIiIiMglSEG3iEgBOtvQa7vdLAtWvryZ2x0XB+np5nnrVnA4zOjv554rwJ7kxo3h44/N5PGHHz69OHh0NAwfDjVrmig6JsbjugosAZyIiIjIJURBt4hIAcnr0OvwcBgxwiQbj442SdOio6FGDVN/4MBF6klu2BDmzzfRfrdup4PvmBgYOdIMO3/5ZYiJuTgJ4EREREQuAQq6RUQKwLkOvQ4Ph6lT4a23YPJkeOMN0/udnl4IPcn165tu7O3boUcPc2Iw2dxGjYKaNQmcNALv+OiLkwBOREREpBhT0C0iks/Od+i13W7i3ZYtzb+3bSvknuSwMJg92wTfjz5qxroDxMVRbdYYPl1bi46rhxGYfCLLrgWSAE5ERESkGFLQLSKSz/Jj6PVFXUrsbOrWhVmzzKT0Xr3cwXdgRjxdtoxj/Ce1uHPtEAKTo4DTCeAaNzZxu4iIiEhJpqBbRCSf5UfAXChLiZ1N7drw/vvm24InnsDp8AbAL+0Ut26cwPiPa9Hxl4Ec+fs45ct7TgsXERERKan055CISD7Lj4A5L0uJFVpPcs2a8N572HdFcvzeJ0n38gHALz2BztsmsXBDLd4rPYDwascKoXEiIiIiRYuCbhGRfJYfAfPZlhIrEj3JNWpQ4bN3se+KJKbr0zi9TfDtm55IpfmTTbbz/v3h6NFsdz/bcmoiIiIilwIF3SIi+Sy/AuaclhJr0cKUh4dfnOs5G3vN6pT58G3se3abddF8fU1FUpJJyV67NrzwAhw54t4nr8upiYiIiBR3Nss6sx+mZIiLiyM4OJjY2FiCgoIKuzlSiJxOJ8eOHaNixYrYNQFV8lFEhMlivnWrmcPt52d6uLt1O7eA2ek0AXdsrBmSHhZ2YT3cBX7PHz4Mr74K771nLtzF1xcef5xNHQcy/L1qREWZpHKBgWYo/sGD5guJovSFglwa9P+8lDS656UkKcz7Pa8xpYJuBd0lnn4xSUHK74A5f9p0ke75o0exJr2KNW0a9uQkd3Galy9fVezFH+0GEVs61F1uWeYLihYtYMqUwn+f5NKh/+elpNE9LyVJcQi69SkUESlAmdferl+/8ALJzPOnd+68OPOnI45U5gXnFB68ag+fhL5Isj0AAO+MFO4+8g7jPq3Lg789RdlT+4GLuP64iIiIyEXkKOwGiIhIwTpzmLu/P1xzDXTsCFdeWXDnHD2a/4aQV2Jl2Kv8dGIArX+fwr3H36EUCXg7U2m3ZRrXbpvJ7w0e5Ztmg0kPqMnhwxdp/XERERGRi0A93SIilzBX8LthA4SEQL165jkyEsaOLZjEZU6nCfKjokwW96Ag8PICKlbkmxsm0jRoL9PLDiLZuxQADmca12+dztgFYXT9qTc1nXsu7vrjIiIiIgVIQbeIyCUqp+A3KAiqVzfl8+bl/1DzyEjTqx4aaoaMZxYcDI7K5RlkTeCpW/eyInwoSd6lAfCy0mm/eyaz/68+9V55DHbtyt+GiYiIiBQCBd0iIpeo3ILfgpw/HRtrhrEHBmats9nMFwBeXvDnvnLMbzCWgfftZVGT4ZzyMglIvJzp2GZ/AA0aQI8emuAtIiIixZqCbhGRS1RuwS9AQICpz+/508HBZnm0hITs6/39zTD3pk3NuuN/HQhhRrXRjO+9lyOPj8Q9tjwjw3TVN2hg1lnbsSN/GyoiIiJyESjoFhG5RJ0t+E1MNPX5PX86LMz0Zh88aJYBy8yyTHnr1jBrFrz1FkyebJ7HvlOWKtNfhn37zET0MmXMTk4nzJ9vDvrww7BtW/42WERERKQAKegWEblE5SX4bdzYbJef7Hbo3h3KlzfD2+PiID3dPG/dasq7dQOHI4fl1IKDYfhwE3yPHWsyv4EJvj/6yDT6wQfN2HgRERGRIk5Bt4jIJSq34PfAgdPBb0GsHR4eDiNGQPPmZgh5ZKR5btHClIeH5+EgQUEwdCjs3Qvjx0O5cqbcsmDBArjsMrj/fti0Kf8vQERERCSf2CzrzP6PkiEuLo7g4GBiY2MJCgoq7OZIIXI6nRw7doyKFStiL4joQ6SQZV2n28m11x7jttsqcuWVBXvPO50m4I6NNR3YYWEXEOSfOgXvvguvvmpSr2d2zz0mmr/88gtus1x69P+8lDS656UkKcz7Pa8xpYJuBd0lnn4xSUmQOfgNCnJSuvQxKlcupvd8QgJMm2aC72PHPOvuussE302bFk7bpEjS//NS0uiel5KkOATd+hSKiJQAdvvp+dP16hXMkPKLJjAQXnwR9uyBKVOgUqXTdV98Ac2awZ13mi5+ERERkUJWnP/sEhGRQuZ0mpW81q0zz07nRTx5QAD06we7d8Prr0OVKqfrvvwSrrwSOneGDRsuYqNEREREPCnoFhGR8xIRYWLevn1Nx3Pfvub1Re9gDgiA556DXbvgzTehatXTdUuXmuxtt99uvhkQERERucgUdIuIyDmLiDBLaW/YYFb0qlfPPG/YYMoLZWS3v7+J/HftgrffhtDQ03XLl0OrVnDbbfDHH+d9ikLt2RcREZFiSUG3iIicE6fTZEOPijLrgAcFgZeXeW7UyJTPm1eIAamfHzz9tMkc9+67UL366bqvv4bWreGWW2D16nM6bJHp2RcREZFiRUG3iIick8hIs/xYaCjYbJ51Npsp37LFbFeofH3hySdh506YPh1q1jxd9+230KYN3HQT/P77WQ9VJHv2RUREpFhQ0C0iIuckNtas9x0YmH19QICpj43N3/Oe99BuX194/HGz0/vvQ61ap+t++AGuvRZuvBF++SXH8xbpnn0REREp0hR0i4jIOQkONiO4ExKyr09MNPXBwfl3znwZ2u3jA716meB71iyoU+d03apVcP31cMMN8NNPHrsVm559ERERKZIUdIuIyDkJCzM9vAcPgmV51lmWKW/c2GyXH/J9aLe3Nzz6KGzbBrNnQ926p+t++skE3tdfbwJxyyq0nn0RERG5NCjoFhGRc2K3Q/fuUL686QGOi4P0dPO8dasp79bNbHehCnRot7c39Ohhgu+5c0007/LLL2bIedu2VNn8A36+1jn37CvTuYiIiICCbhEROQ/h4TBiBDRvDtHRZmh1dLRZEnvECFOfHy7K0G6Hw3xLsGULfPghNGhwuu633wjteRPTNl1L1X++xXJ6du3n1LOvTOciIiLi4ijsBoiISPEUHg5Nm5qANzbW9PSGheVPD7dLXoZ2Hz6cT0O7HQ7o2hUeeAA++wzGjDERP1DnyP8x5cgtbN5/FUvDR7Kz7i0kJtk4eDBrz75rOHxUlPlSIDDQzH/fsAH27cvfLyVERESk6FNPt4iInDe7HerXh5YtzXN+BtxQOEnb8PKCBx+Ef/6BBQugSRN3VZP4Pxj0y230X9iasO3LadHc8giilelcREREzqSgW0REiqyLnbTNg5cX3H8//P236fm+7DJ3VeP4tYyJuJ2pv7ci/OBSd+OU6VxERETOpKBbRESKrIuZtC3XRtx7L/z1FyxcCFdc4a6yrV8PnTubye1LlhAbYynTuYiIiHhQ0C0iIkXaxUradlZ2O9x9t5m0vXgxNGt2ui4iArp04fLu4dwY+wWJp7IfP14gw+FFRESkSFMiNRERKfIuRtK2PLPb4c474Y47YOlSGDUK/vwTAL9tfzGCu9m183K+v3oEG+vchWUzjXQNh2/RooCGw4uIiEiRVKR6ugcNGkSnTp3crzdt2kTLli0pW7YsAwYMwMo0oS+3OhERufQUdNK2c2az4by9Mzs+Xs+OKUtJvqyFu6pu4j/0WXkvQz+7gvAdnxIfk3HxhsOLiIhIkVJkfu1v2rSJd999l9dffx2AlJQUOnXqRPPmzVm/fj1btmxhzpw5Z60TERG5GNxrcT9ro/eXt3NHlbVM77ychMtaubepHruZPj89wITll9O71CeMGJqh5cJERERKmCIRdFuWxRNPPMHzzz9P3bp1Afj666+JjY1l6tSp1K1bl/HjxzNr1qyz1omIiBQ011rcGzZASAjUqwch5Wx8GH0bD9ddQ+Tb32BdfbV7+5oJW+n2zUOEP3IZfPQRZGQUYutFRETkYioSc7rff/99Nm7cSK9evVi2bBn/+9//+Ouvv2jdujUBAQEAXHHFFWzZsgUg17qcpKSkkJKS4n4dFxcHgNPpxKkFU0s0p9OJZVm6D6TE0D1/YZxOs9b2iRNmuTLX0mDBwWY97q1b4d1dNzHp5w7YV/2AbcwYbL//bjbatg0efhhr9GisIUPMeuCOC/9V7HTCrl2n57vXrash7JnpnpeSRve8lCSFeb/n9ZyFHnSfOnWKYcOGUa9ePQ4ePMj8+fMZN24cbdq0oXbt2u7tbDYbXl5enDx5kri4uBzrypYtm+15JkyYwKhRo7KUHz9+nOTk5Py/MCk2nE4nsbGxWJaFXX+lSgmge/7CHDoECQlmbvl/3/16KFUK4uPhr7+hWtOm8Pnn+Pz2G6WmTMHnjz8AsO3Yga1HD9JHjSLhuedIuvvu8w6+d+2CVavgwAFISwNvb6heHdq3N8G36J6Xkkf3vJQkhXm/x8fH52m7Qg+6v/jiCxISEli1ahUhISEMHjyYyy+/nA8++ICePXt6bOvn50diYiIOhwNfX99s63IKugcPHky/fv3cr+Pi4qhevToVKlQgKCgo/y9Mig2n04nNZqNChQr6xSQlgu75C7N/P+zYYYaUJyRkrU9PN1nWMzKgYsX/Cu++G+6+G+dPP2EbPRrbzz8D4Nizh+DnnyfozTexBg+GRx4xUXMebdwIU6ZAVBSEhpr1wU+dgu+/N0Pghw3zXNmspNI9LyWN7nkpSQrzfvfz88vTdoUedB88eJCrrrqKkJAQABwOB1dccQV79+7l+PHjHtvGx8fj4+NDSEgImzZtyrYuJ76+vlkCdQC73a7/jASbzaZ7QUoU3fPnr0wZ8PU1wW1239kmJJj6MmWyGeLdvr15/PyzmRS+ahUAtt27sfXuDePHw5AhJsV5Lr/T4PQw9+PHoVGj08PcS5eGhg3NMPf5803QrR+z7nkpeXTPS0lSWPd7Xs9X6J/C6tWrk5SU5FG2b98+pkyZwpo1a9xle/fuJSUlhZCQEFq2bJljnYiISEEKCzNB7sGDZu3tzFxrcTdufJa1uK+/HlauhF9/hQ4dTpfv2QO9e5s10aZPh9TUHA8RGWkC69DQ0wG3i81myrdsMduJiIhI4Sn0oLtjx45s3bqV9957j4MHD/Lmm2+yceNGbr75ZmJjY5k3bx4Ar7zyCh06dMDLy4u2bdvmWCciIlKQ7Hbo3t2sub11K8TFmSHlcXGc+1rc115rxoL//jvcfPPp8n37oE8fE7lPmwaZEoG6xMZCcrIZUp6dgABTHxt7ftcpIiIi+aPQg+6QkBC++eYb5s+fT/369Xn99ddZsGABYWFhzJgxgz59+lCpUiUWLlzIK6+8Apgh6DnViYiIFLTwcBgxApo3h+ho05scHQ0tWpjyc16Lu00b+PZbWL0abr31dPmBA/DUUyb4fucdE0X/JzgY/Pyyn1cOkJho6oODz/36REREJP/YLOvMwXFFy6FDh1i/fj1t2rShQoUKea47m7i4OIKDg4mNjVUitRLO6XRy7NgxKlasqHlPUiLons8/TqcJuF1LdYWF5dP86bVrzZzv5cs9y6tWhYEDoXdvnL7+9Otn1grPPKcbzDD3rVvNlwBTpmhOt+55KWl0z0tJUpj3e15jygtqVXJyMo0aNcp1mwcffPBCTkG1atW44447sg2qc6sTEREpaHa7mX7dsqV5zrff9a1awbJlsG4ddOp0uvzwYXjuOahbF/ubr9Pj/qT8GeYuIiIiBeaCfhX7+flx9OjRbOv++OMPMjIy+OWXXy7kFCIiIiVXixbw1Vfw559w552ny48cgRdeoFmX2rxVZyqtr0jMn2HuIiIiku/OacmwTp06kZCQgJeXF6mpqYwYMYIyZcrw4YcfMmLECBwOB+np6YwbN47Bgwezbds2SpcuXVBtFxERKRnCw2HxYrMw95gx8MUXpvzffwmd2p9JFScS1WMA+zs+SenKgfk3zF1EREQu2Dn9St6xYwd33HEH//zzD9WrVycqKgo/Pz8SExO58cYbiYuLo0OHDiQmJuLn54efnx+2M9cxERERkfPTrBksWgR//QX33OMuth07RoVJA2h+dy3qL56IPfFU4bVRREREPJxT0B0YGMhzzz1H2bJluTnz0ibAtddeS+nSpbn22mvNgfUVu4iISMG44gr4/HP45x+4//7TWdSiomDQIKhVCyZMgPj4Qm2miIiI5POSYerVFhERuYguuwwWLIBNm+DBB08H3ydOwJAhJvgeN85kVxMREZFCkW9B9+HDh0lNTeXQoUMcOXKE1NRUtmzZQkZGRn6dQkRERLLTuDF8/DFs2QJdu56e0B0dDcOGmeB7zBizttklwOmEHTtMcvcdO8xrERGRouqcEqllx2azYVkWQ4cOxWazMXToUHf5ZZddRpkyZS70FCIiIpIXDRvChx+a1OVjx8JHH5mI9ORJUzZ1Kjz/vFl2rJj+fo6IgLlzzbJoycng52fWKe/eXdnaRUSkaLrgnm7LsrDZbMyePZs6deowe/ZsZsyYQYMGDXA6nVSqVCk/2ikiIiJ5Vb8+zJsH27ZBjx7g5WXKY2Lg5ZdNz/fIkSYYL0YiImD0aNiwAUJCoF4987xhgymPiCjsFoqIiGSV73O6XQ8REREpZPXqwezZsH07PPro6eA7NtZEqTVrmuHnJ04UbjvzwOk0PdxRUaZnOyjIXE5QkHkdFWW+Z9BQcxERKWqUYlxERORSV7cuzJoFO3dCr17g+G92WXy8SbRWq5ZJvBYVVajNzE1kpBlSHhp6Ol+ci81myrdsMduJiIgUJecUdMfGxvL4449z9OhRZs+eDZjh5QCffvopUVFRfPrppwA4nU7S09PzubkiIiJy3mrXhvffN8H344+Dt7cpP3XKLDFWq5ZZcuz48UJtZnZiY80c7sDA7OsDAkz9JZIrTkRELiHnFHR36dIFX19funXrRsOGDalTpw5xcXFUrVoVy7K47rrryMjIoGrVqiQlJREdHe0OykVERKSIqFULpk833cJ9+pwOvhMSYOJEU//SS3DsWGG20kNwsEmalpCQfX1ioqkPDr647RIRETkbm3UBUbFlWZQpU4bYbL5W/ueff2jQoAGhoaEcK0K/tF3i4uIIDg4mNjaWoKCgwm6OFCKn08mxY8eoWLEidrtmXMilT/e8ZHHgALzyCsycCampp8v9/eHJJ2HAAKhcufDah5mr3a+fSZrWqJHnEHPLMkPPW7SAKVNOr5h2el/d81Ky6J6XkqQw7/e8xpQX1Krk5OQclwS7/PLL8fHx4ZlnnrmQU4iIiEhBq14d3nkHdu+Gvn3B19eUJyWZZcZq14YXXoAjRwqtiXa7WRasfHkTYMfFQXq6ed661ZR365Y14BYRESlsF/Sryd/fn3379uW6zYgRIy7kFCIiInKxVKsGb75pgu/nnjPjtcFMln79dahTx5QfPlwozQsPN8uNN28O0dFmdHx0tOnhHjFC63SLiEjRdEHDy4szDS8XFw3BkpJG97zk2ZEj8Oqr8N57ptfbxdcXeveGgQNN2vCLzOk0AXdsrJnDHRaWew+37nkpaXTPS0lyyQ0vT05OpmvXrtnWJSQk4OXlRXx8/Lm1VERERAATTO7YAevWmedCX3O6ShUzvHzPHujf36QIB0hJgbffNkuRPfUU7N9/UZtlt0P9+tCypXlWTCEiIkWZ41w2ttvtLF26lLS0NJo3b86iRYsIDQ2lQYMGbNq0CcuycDgcDBo0CD8/P+x2O06nk+TkZF555ZWCugYREZFiLyIC5s4185OTk83I7kaNzDzmQh82XakSTJ5sMppPmWLmfyckmKRr06aZBGyPPgqDB0PNmoXcWBERkaLlnL4b9vHxwdfXF29vbzZt2kRISAhOp5NDhw4REBCAt7c3lmUxadIkli9fzpdffsmYMWNYtWpVQbVfRESk2IuIgNGjTWbukBCoV888b9hgyiMiCruF/6lY0SwptmePWc+7VClTnpZmliALCzPDzvfsKdx2ioiIFCHnPCDL9t8aHV5eXpQrV869DrfD4cDLy8v9et26dfz8889YlsXatWvzsckiIiKXDqfT9HBHRZme7aAg8PIyz40amfJ584rAUPPMKlSACRNg714YMgRKlzbl6emm17t+fXjsMZOQrYAVuSH5IiIiZ7jgWVC2zAtlZlOXW72IiEhJFxlphpSHhnquPQ3mdWgobNlitityypWDceNM8D18uPmmAEzw/cEHJvju2bPAGh8RYdbu7tsXXnzRPPfrV4RGBoiIiHAOc7pnzpxJUlISycnJvPvuu1iWxbRp00hJSQHg3XffLbBGioiIXKpiY80c7sDA7OsDAswKXbGxBd+Wc80K7hYSYsbBv/ACvPGGWV4sNhYyMmDOHJg/H7p2haFDcYbVP79znME1JD8qynwxERhopplv2AD79mkJMRERKTryFHQnJCQwceJEhg0bRmJiIq+++ipOp5NJkya5h5O/+uqrBdpQERGRS1FwsEmalpBwuqM4s8REUx8cXLDtyJdEbmXLwssvw/PPm/W+X3sNYmJM8D1vHtaHH/JnvQd5r/wwdno1PO9kcWcOyXeNEHANyd+61QzJb9q0+GU2P+8vPkREpMjK03/jgYGBbNu2je7duxMSEsKePXvw8vJiz549bNq0CYA9SpoiIiJyzsLCTKB48CD89z22m2WZ8saNzXYFJd8TuZUpY7qa9+6FMWNMMA7YnE5abP+IGb83ZtLBh7jMa+t5naNYD8nPhYbLi4hcmvL83amXl1e25ZqzLSIicv7sdtPTW768CSTj4syU6Lg487p8eejWreB6Ows0kVtwMAwbhnP3Xpa1GU+MoxwAdiyu2v0Jr37dhKmHH6DUvs3ndI68DMlPTr44Q/LzS7HJYC8iIucsz7/CV65cyZEjRwqyLSIiIiVSeLjpGG7eHKKjTQ9tdDS0aFHwc5MvRq9x5LEg3io1mBfu2MMXrV4h3q88YILvlrs/ZW7E5XT55D72L/8nT8fLPCQ/OxdrSH5+KZYZ7EVEJM/ynEjtqaeeIioqioyMDL766issy2Lp0qUkJSUB8NVXX+F0Otm5cyc2m40jR45w6tQpAI4cOUKVKlUK5gpEREQuAeHhZg7yxZ7PezESubnO4VW9NN+WG8hPTZ6m7eZp3PTXqwSnHMeORdt/P4fOn8Ndd5lvGpo2zfF4riH5GzZ4zumG00PyW7Qo2CH5+elcvvioX79w2igiIucvz7/Kf//9d8aNG0eVKlXo0qULlmVx55138sADD7j/nZqayqeffoplWYSGhtKwYUP3v6OjowvyOkRERIo9u90EVS1bmueLkUDrYvQan3mOQ7GlGJU4gJbl9vBy6Skcs1c6vfEXX0CzZtClS45jqgt7SH5+uxSHy4uIyGl5/nVUvnx5+vTpw5YtW3j77bepXLkyPXv2ZPv27aSnp5OamkpiYiIjRoxg7dq1bN++nV27drF9+3b++OMPypQpU4CXISIiIufjzERulmWCu+PHTeLxAwcuPJFb5nMcPw5//mmGTDv9A/mkSj9alN3NyKDXiPatfHqnJUvgyivhjjtMl/YZCnNIfn671IbLi4iIpzwPL3ex/X97dx4WZdX/cfw9wyoqCIFLaYrhAuZCSpqVbbaqqT2ZpaVpmz2mlUurWqIZ/cr2smxzy0pbLNvMtFwqTQhNg1Lc0XyE0BkEQWXm98cJEAVEZZiB+byuy2uc+9wzcw8cwc+cc77HYuHee++lf//+jBgxgrZt2zJ//nx69eqFr695uk6dOlX6hYqIiEjlKxw13r4d1qwxAS8nB/LzzehxWBicf/7JjRqXtu3V4MGmmPnq1XDokHneI0fMObXqBrE+9gH67bmH4f5v0XfTM1h27zZP9sUX5k+PHvDEE2YawL/cNSW/stW06fIiIlLSKf9aCgsL4/333+e7776jV69elXlNIiIiUoViY+Gmm8z07L17TSj294f69U0xr3nzKl49u6xtrwBuvx18fc0fu928Tv36ZkA7IgLqN63FmwEjSft2M7zyCpx1VvETf/WVSf/XXWeS+7/cMSW/stW06fIiIlLSSY105+fn88ILLzB69Gj8/PzIycmhSZMm7Nq1q9Stw6xWKw0bNizlmURERMRTOBwmxzZqZKZrHz5sQnfhdObUVFM9u3378oNf4bZXmZmm+Fft2mbUPCnJjKT/5z/QtCk0aGBCZeFrFP4XorBo2/68QLjvPrjrLnj3XXj6aTPPHeCbb8yfq682I98XXODaL04VKZwuP3Om+Xrv3m2mlHfqZAJ3dZouLyIiJZ1U6P7tt9+YMmUKb731Fs899xwOh4N+/fqVu1d39+7dWbRo0WlfqIiIiLhGYfXsJk3MyPaxKlI9+9htrwr/a1C47VVqKnz/vQmSvr5mevmxjlu7HBAA994LQ4fCjBkwZQrs2GHaFi0yf6680oTvCy883S+D29WU6fIiIlLSSf0Yv+CCC9i+fTt9+/YlJSUFgGuvvZYtW7ZwzTXXMGPGDDZv3oyfnx9paWksWLCA77//Hrvd7pKLFxERkdNXGdWzK7Lt1e7dZjS9sGjb0QrXLpdatC0gAO65BzZtgunToVmz4rbFi+Gii6B7d1ixoqJv2WPVhOnyIiJSUoV/lDscDgoKCggNDeW5557j8ccfB6B27do0bdqUoKAgGjRoQLNmzbBarURGRnLVVVfxxBNP4Ofn57I3ICIiIqenMqpnVyS45+ebgelTXrvs72+mnG/cCO+8A82bF7ctWQLdusFll8GPP1bkbYuIiFSJCofu+fPn4+fnh4+PT9Gfm266qdRznf9+fB0QEMCECROoVatW5VytiIiIVLpjtw07Wrkj0EepaHA///xK2OrLz89MOf/zT3jvPTjnnOK2H380wfuSS2Dp0uPfkIiISBWr8Jru7t27s3r1agIDA7H++xH04sWL+fnnn487t7w13iIiIuJZjt42rHCKeFCQCcrp6RWrnn0y215ZrZW0dtnPz5REv/VWmDsXJk82U9ABli+HK64wU8/Hj4e2bU/2yyIiIlIpKvzr7YwzziAuLo6WLVvy4Ycfsn//fpo0aUJGRgbLly8nMzOT9evXs3z5chwOBytWrGD58uUsX77cldcvIiIilaCwevapjkCf7LZXlbp22dfXPHlKCsyeDa1aFbetXIn16qsJ690bvvtOI98iIlLlLE5nxX/7pKSk0KdPH+x2Oy+//DJ+fn4MHjwYPz+/otHvoxUUFJCfn09OWXPN3MhutxMSEoLNZiO4tFKt4jUcDgd79+6lfv36pfZjkZpGfV7K43Cc3gh0cnLxtld5eWZKeUxMFW97VVAAH30EkyaZKehH69LFVDu/+urjK76J1BD6OS/exJ39vaKZ8qRC9759+5g8eTJPPvkkdevWrZQLdReFbimkX0zibdTnxdVON7hXmoIC+PhjnPHxWP7ddaVI4eLy665T+JYaRz/nxZtUh9B9UlcVGhpKQkICzz77LPv27cPhcLDj3/0yd+zYwWWXXVZ07o8//ojD4TjFyxcREZHqymO2vfLxgf79ca5bx77p03Gee25x26+/Qs+eJnwvXKhp5yIi4jKn9GvwqaeeIicnh8zMTCIjI8nLy6OgoIDExEQA9u/fz1133UVCQkKlXqyIiIjISbNaye/VC2dyMnz8MbRrV9yWmAjXX28Wr3/+ucK3iIhUupMK3SNGjGD37t04nU58fX0JDAzE6XTy7rvv8v777wPw+uuvM3fuXK688komTpyoQmoiIiKCw2G2116zxty6ZTKc1Qr/+Y9ZeP7pp9ChQ3Hbb79Bnz5w3nnw2WduukAREamJKrxl2NatW5k3bx4zZ84s2hKscM78/Pnzyc/P59ChQ8yfP7/oMQ0bNuTZZ5+lW7dulXzZIiIiUl2UVlwtOtpUO6+y4mpHs1qhb18Tsr/4AuLjTegGWLsWbrjBjIaPH2/+rjWxIiJyGir8WyQyMpJt27bx5JNPcsYZZ9CrVy/WrVsHmP26P/jgA2rVqsUPP/xQ9Gfz5s18/PHHLrt4ERER8WzJySbTJiVBWBi0aGFuk5LM8eRkN16cxQK9e5sp5gsXminmhX7/Hfr1MxuKz5unkW8RETllJ/XRba1atRg1ahTr168nODiYBx98ELvdjq+vLwEBAdx4440lzi88LiIiIt7H4TAj3JmZZmQ7ONjUNgsONvczM2HWLA/IsxaLKar266/w1VemuFqhDRugf39o2xY++MBURBcRETkJpzRfqkGDBixatIiPP/6YOnXqAGYq+dtvv31KFzFixAgsFkvRn6ioKAA2bNhAXFwcoaGhjB07lqN3NyuvTURERNwvLc1MKW/c+PhduSwWczwlxZznESwWs4XYqlXwzTdmT+9CKSkwYACcey68/77Ct4iIVNgpL1Ly9fXl7LPPrpSLSEpK4quvvmLfvn3s27eP5ORk8vPz6dWrFx07diQxMZGUlBRmzJgBUG6biIiIeAabzazhrl279PagINNus1XtdZ2QxQLXXAM//wyLFkHXrsVtf/4Jt94KMTEwezYcOeK+6xQRkWrB4nTzEPGRI0cICwtj9+7dRaPmAAsWLGDo0KGkp6cTFBTEunXrGD58OCtXriy3rSz5+fnk5+cX3bfb7TRp0oR9+/aVu5G51HwOh4OMjAwiIiKKigOK1GTq81JVNm2C++83a7hL+1Vrt0NWFrz0klnr7SrH9nmHAzZvNmE/JATOOecEtdKcTli6FMukSVhWrCjZFBWF87HHYOBA8K1wfVoRl9LPefEm7uzvdrud0NBQbDZbuZnS7b8dfv/9d5xOJx06dGDXrl1ccsklTJ8+nXXr1tGlSxeCgoIAaNeuHSkpKQDltpXl6aefZuLEiccdz8jIIC8vr5LflVQnDocDm82G0+nULybxCurzUlXq1oULLzTTx8PDS04xdzrh4EG46CJz3t69rruOo/v81q1Wli6FnTvh8GHw84MmTeDyy034LlPbtvDRR/j//DN1pk7F/5dfALCkpWEZOpQjEyeSc//9HLzxRvOkIm6kn/PiTdzZ37Ozsyt0nttHut9//31eeeUVXnnlFcLDwxk5ciRHjhwhJiaGvLw8XnvttaJzIyIi2LhxI5MnTy6zLTQ0tNTX0Ui3lEWfBou3UZ+XqrR2LUyebIqmNW5sppTn5kJ6ugni48aV3C7bFQr7/O7dETz1lLXoWmrXhpycU7yWZcvMyPcPP5Q47IyMxPnIIzBoEA5f/5MbURepJPo5L95EI90VMHDgQAYOHFh0/9VXX6V58+a0bt36uMrngYGB5ObmlloVvbCtrNAdEBBQaiV1q9WqH0aCxWJRXxCvoj4vVeW888x214X7dO/aZfbp7tgRBg2qun26nU4Lc+ZYyciwEh1dPOpety60bm2ubfZsE7or9M/issvMnxUrYOJEWLIEAMvWrVjuuYf8J6ewIPoxZllv58Ah/1Pem9zhMDMFCoN7VJSCu1SMfs6LN3FXf6/o67k9dB+rXr16OBwOGjZsyIYNG0q0ZWdn4+/vT1hYWJltIiIi4lliY8121+4Mj3//XfFK6i1bnsQTX3wxfP89/PST2Xj8u+8ACPh7O/3/vofLg57i2w6P8l3IEJKSAti+HSZMqFjwTk4u/rAiL49TDu4iIuJebv/oa9SoUcybN6/o/po1a7BarbRt25ZVq1YVHd+2bRv5+fmEhYURFxdXZpuIiIh4HqvVhNm4OHNb1YNvubkurqR+4YWwaBGOlT+T2vSaosMRuTu47ed7eenrKO51vIZ9b16F9iZPTjYZPinJFKJr0cLcJiWZ48nJxec6HLBxI6xZY27dvu+5iIiU4PbQ3aFDBx5//HGWL1/O0qVLGTFiBLfffjtXXXUVNpuNWbNmAZCQkED37t3x8fGhW7duZbaJiIiIHCsoyIwU5+SU3p6ba9pDQk7vddIiLuCBVt8w7srV/H52j6LjYTnpDPj5PuYlRxH17Sts/qPsIq4Ohxnhzsw0I9vBweDjY26jo83xwuCenAyjRsGIETBmjLkdNapkKBcREfdy+/TyQYMGkZqaSu/evalbty59+/ZlypQp+Pr6Mn36dAYMGMDYsWMpKChg2bJlAOW2iYiIiByrUSMTWBMTKbGmG0wl9fR06NTJTHs/HYV7k+9pcT6vRX5J04xEeiTF037HQgDOOLiL4X+O5NDlT8O4h+Huu6FWrRLPkZZWsanwX3xRHM6PLgyXlMRJTWMXERHXcnv18hPZtWsXiYmJdO3alYiIiAq3nYjdbickJOSEleak5nM4HOzdu5f69eur2Ih4BfV58TaFfX737vpMmmQts5J6ZYTUjRvNaPOxe5M3yfyNnknxdNj+eckHNGgADz0Ew4aZC8JMEx8zxkwpL20S35EjZg/0s84y117ahwipqeZDhKlTVXjNG+nnvHgTd/b3imZKj/9XeNZZZ9G7d+9SQ3V5bSIiIiJH69DBBOuOHSEry4woZ2WZcFpZo8JRUSYEp6eb8FtoZ/h5vH7VAoZ0SOb3c/oWN/zvfzB6NERGwnPPQU4OISEnngrvcJi9xitSGE5ERNzL7dPLRURERKqKqyupW62muvj27cVTxEuMqDfrQMGET8Hnd5g0CT7+2Dxw714YOxb+7/+IGj2G9uf8l1/W1ylzKnyTJmb7tfIKw+3efRqF4UREpNJ4/Ei3iIiISGVydSX12NgKjKi3awfz58P69XDTTcXJOiMD6yMP89QHkdydlcC29dnY7WZKud1ugnx4OPTvb5aCu7ownIiInD6NdIuIiIhUsgqPqJ97Lnz0kUnjkyebvzud+O3P5Lb9j3JD4LPMzxzFR/VH4KgTTKdOMGiQee4ffzRF01xZGE5ERE6fRrpFREREXOCkRtTbtIEPPoA//oCBA4tOrp2Xxe1p41i4oRnvt57E1Ak2YmOLp7GHh5vR79JGwwcNUhE1ERFPoB/FIiIiIp4iOhrmzDFV0G67rSg1+9r3Ef7yBKzNm8HEibB/f8WmsYuIiNt5/JZhrqItw6SQttUQb6M+L96mWvf5TZvgqadMEC8oKD4eEgL33w8PPIAjJNRlheGkeqrWfV7kJGnLMBERERE5dS1awIwZ8OefMGRI8cbdNhvEx0OzZlifGE/L8CyXFYYTEZHTox/LIiIiIlXM4YCNG2HNGnPrcJzgAVFR8O675uQ77gDff2vh2u2mAFuzZvD44/DPP66+9BrhpL/+IiKnQdXLRURERKpQcjLMnGkKnuXlma29oqNNYbQTrsNu3hzefhvGjYMpU+C990wFtexsc//ll2H4cBg9GiIiquT9VDen9fUXETkFGukWERERqSLJyWZWeFIShIWZ2eNhYeZ+fLxpr5BmzWD6dFM9bdgw8PMzxw8cgGeegchIeOgh2LvXVW+lWqq0r7+IyElQ6BYRERGpAg6HGWHNzDQjq8HBZol2cLC5n5kJs2ad5FTnpk1h2jTYvBn++1/w9zfHc3Lg2WdN+B4zBv73P5e8p+rEJV9/EZEKUOgWERERqQJpaWZKc+PGYLGUbLNYzPGUFHPeSWvSBF57zYTv++6DgABzPDcXpk414XvUKPj779N+H9WVS7/+IiLlUOgWERERqQI2m1lDXLt26e1BQabdZjuNF2ncGF55BbZsgZEjzYJlgIMH4YUXzJrw+++H3btP40Wqpyr5+ouIlEKhW0RERKQKhISYDJyTU3p7bq5pDwmphBc780x46SUTvh98EGrVMsfz8kyxtebNYcQISE+vhBerHqr06y8ichSFbhEREZEqEBVl1g6np4PTWbLN6TTHY2LMeZWmUSN4/nkTvkePLg7f+fnw6qtwzjlmLfiOHZX4op7JLV9/EREUukVERESqhNVqtqUKDzdri+12s9uX3W7uh4fDoEHmvErXsCE89xxs2wZjx5q51ACHDplCbFFRpgr69u0ueHHP4Navv4h4Nf1YEREREakisbEwYQJ07AhZWaZoV1YWdOpkjrt8n+j69eH//s+E74cfLl7gfPgwvPmm2UPr7rtNew3k9q+/iHgli9N57AQb72C32wkJCcFmsxEcHOzuyxE3cjgc7N27l/r162PVx9viBdTnxdt4Yp93OEzgs9nMGuKoKDeNsGZmmgJrr7wC2dnFx319zbDwY4+Z9d81jMd8/V3EE/u8iKu4s79XNFPqX6GIiIhIFbNaoWVLiIszt27LReHh8NRTZmR73DizaTWYedfvvGMubsiQGrePlsd8/UXEK+hHjIiIiEgVcThg40ZYs8bcOhzuvqJ/hYXBpEkmfD/xRHEJ74ICmDEDWrc2I9+bNrnzKkVEqiWFbhEREZEqkJwMo0aZnbrGjDG3o0aZ4x4jNBSefNKE74kToV49c7ygAGbNMuH7ttvgr7/ceJEiItWLQreIiIiIiyUnQ3w8JCWZQeUWLcxtUpI57lHBG0zYnjDBVDOfPNlcLJih+TlzzN5aAweast8iIlIuhW4RERERF3I4YOZMU7MsOtosm/bxMbfR0eb4rFkeNNX8aMHB8PjjsHUrTJkCZ5xhjjscMHcutGkDN98Mf/zh3usUEfFgCt0iIiIiLpSWZgaEGzcGi6Vkm8VijqekVF2tslNaVx4cDI8+asJ3QoIpwAbgdMJHH0HbtnDTTbB+vUuvXUSkOlLoFhEREXEhmw3y8oq3xD5WUJBpt9lcfy2nva68bl2zv/fWrWa/74gIc9zphPnzoV07uPFG+P13l70HEZHqRqFbRERExIVCQiAwEHJySm/PzTXthQXDXaVS15XXqQNjx5rw/dxzUL9+cdsnn0D79nDDDbB2bWW/DRGRakehW0RERMSFoqLM2u30dDMgfDSn0xyPiTHnuYrL1pXXrg2jR5vw/fzz0LBhcdtnn0FsLPTubZK9iIiXUugWERERcSGr1WxxHR5u1m7v2gV79pjblBRzfNAgc56ruHxdeVAQPPggbNkCL70EjRoVt33xBXTqBL16QWLiKb8HT+Cx+6yLiEdT6BYRERFxsdhYU2csJwdWrYIffzS3OTnmeGysa1+/ytaV16oFI0ea8P3KK3DWWcVtX34JcXHQowf8+utpvlDVqxb7rIuIR1LoFhEREXGx5GSYN8+E3s6d4dJLzW3t2ua4q4Nbla8rDwyE++4zQ+evvWaG0gt9/bV589deaz55qAaq3T7rIuJRFLpFREREXOjo9dQxMSZ/NmxobmNiqmafbretKw8MhP/+14TvadPg7LOL2779Fi64AK6+Gn7+uZJfuPJU633WRcQjKHSLiIiIuJAn7NN99Lry1FSw2+HIEXObmloF68oDAmDYMNi0CaZPh2bNitu++w4uvBC6d4cVKzxu3bQnfP9EpHpT6BYRERFxIU/Zpzs2FiZMgI4dISvLhMSsLFPjbMIE168rB8DfH+66y6Tpt9+GyMjitiVLoFs30ppezvSByzxm3bSnfP9EpPrydfcFiIiIiNRkR6+nDg4+vr2q9ukGE6zbtzeB22YzrxkV5drK6aXy84M77jDD63PmwFNPwebNALRM/4Hn0n/gr4aXMC/6Cb5LvJTt2y2n9MGAw3H679WTvn8iUj1ppFtERETEhTxhn+6jWa3QsqUpJN6yZeUF7lOaFu7nB0OG4Ej5k/evnMHOwOIvQqs9yxj/w+W8s/kSmqYtYdZM50lNNa+sauOe9v0TkepHI90iIiIiLlS4nnr79uK1wUFBZoQ0Pb1q9ul2teRkU2wsNdVMtQ4MNEF18OCKjU6nbfNllmUwX18/kCsyPuS63ybR0LYRgJZ7VvDinu5sSL+Q3e0m0HjIlccvri7leuLjTZGzxo3N1PCcHFNtfPv2k5tO7w3fPxFxLf14EBEREXExj1hP7SKVsZ1W4brpWnV9Wd3iVp7sl8Lbl7/P3/VaF51z7v6faHzH1dC1q6l8fuyw879cUW28Jn//RMT1NNItIiIiUgU8Zj11JTo24BYOQBcG3NRUE3Dbty//fR67btpp9WFN1AASm/en45b5XJs4icb2FHPyqlVmj+/zzzeJ97rrSox8n0y18ZYtK/5ea+L3T0Sqhn5MiIiIiFQRV62ndpfK2k6rrHXTTqsPa865mQFt1zPzuo9wtmlT3Pjrr9CzpwnfCxcWPdCV1cZr2vdPRKqGflSIiIiIyCmprIB7on3Ez4iw0m7yTVh+/x3mz4e2bYsfnJgI119v5n4vWEBIsLNo1Lw0qjYuIlVNoVtERERETsnR08JLczIBt0Lrpq1WuPFGWLsWPvnEzPculJwMffvSon8s/f0+ZddOR6VWGz+l6uwiImhNt4iIiIicosJp4UlJJdd0Q3HA7dSp4gG3wuumrVa44Qbo2xe++AImTiyq2GZZt46h6/7DZcHtePef8WxufwO1altPq9r46VZnFxHvppFuERERETklJ5oWfioB96TWTVss0Lu3Sf1ffGGGyf8Vaf+dSX/246mv2tPkl3ns+8dxStXGK6M6u4h4N4VuERERETllHrGdlsUCvXqZud9ffmkS+78iD2zgydT+fL61LVM7fUBsu4IKP60rth8TEe+j6eUiIiIiclo8ZjstiwV69DDbiC1aZKadr1oFQEBaCtw6ACbHw7hxcPPNJkGXw1Xbj4mId/G4ke5rrrmGGTNmALBhwwbi4uIIDQ1l7NixOI+qhlFem4iIiIhULY/aTstigWuugZ9/NuG7a9fitj//hFtvNdXUZs828+HL4Mrtx0TEe3hU6H7//fdZtGgRAPn5+fTq1YuOHTuSmJhISkpKURgvr01EREREBACLBUf3q9j47kr+fPV7cjtdXNy2caNZcB4TY+aQlxK+y6rO7nSaoJ2eDgUFULeui9+HiFRrHhO6s7KyGD16NK1atQLgm2++wWaz8fzzz3POOecwZcoU3nnnnRO2iYiIiIiAKXI2ahSMGGnhnnlX0Dd0Ga/esJTsjpcUn7RpE9x+O7RuDe+9B4cPFzUVVmdPT6do+7HMTPjlF1i50sxc37kTpk1TQTURKZvHrOkePXo0ffv25eDBgwCsW7eOLl26EBQUBEC7du1ISUk5YVtZ8vPzyc/PL7pvt9sBcDgcOFT9wqs5HA6cTqf6gXgN9XnxNurz3mntWpg82YTkxo3NFPGcHJiXfglLz15Kwj3LaPHBJCw//GAesHkzDB2Kc9IknI88Ysqy+/kxaBDs2GFmpdeubW5zc81DzjgDWrUygXvnTrNUvEMHd73jYurz4k3c2d8r+poeEbp/+OEHlixZwoYNGxg5ciRgQnFkZGTRORaLBR8fH/bt21duW2hoaKmv8fTTTzNx4sTjjmdkZJCXl1fJ70iqE4fDgc1mw+l0YnXrAjSRqqE+L95Gfd77OBzw1Vdm2ndMTMkiaM2bm4A873/RDJ0zl4BfV1Hn+ecJWLECAMvWrVjuuYeCSZM4MHIkZ/bvz+jR/ixZAqtXw9lnQ61a5rnPPNNUMnc6zXN+/TU0bOjm9eyoz4t3cWd/z87OrtB5bg/deXl53HPPPUybNo3g4OCi476+vgQEBJQ4NzAwkNzc3HLbygrdjz76KKNGjSq6b7fbadKkCRERESVeV7yPw+HAYrEQERGhX0ziFdTnxduoz3ufTZvgp5/MftqZmce3Hz5spof36wcNr78err8ex08/YYmPx/L99wD4pKcT8tBDBL/6KvUffpgzeg9h8eIAgoKgXj2z3js/HzIyjn/OFi2q7r2WRn1evIk7+3tgYGCFznN76J40aRJxcXH06NGjxPGwsDA2bNhQ4lh2djb+/v7ltpUlICDguKAOYLVa9cNIsFgs6gviVdTnxduoz3sXux0OHjTVxUvb4KZWLdNutx81Kn3xxbB4sVmwHR8P334LgGXHDizDh9O8/tPcEPwof110B05/83/Ko5+71Od0I/V58Sbu6u8VfT23h+65c+eSkZFBvXr1AMjNzWXevHk0a9aMw0cVsti2bRv5+fmEhYURFxfH22+/XWqbiIiIiHi3o6uOlzahMTfXtIeElPLgCy6Ab74xc8nj482cccB/bzoP7h3OP7umsDj2YVa0vosjvoEVe04R8Wpu/+hrxYoVbNiwgbVr17J27Vquv/564uPjWb58OTabjVmzZgGQkJBA9+7d8fHxoVu3bmW2iYiIiIh3K63qeCGn0xyPiTHnlalzZ7Mw/NdfoWfPosNnHNzFzT+P5KkPm3P5+pfwO3Kw4s8pIl7J7SPdjRs3LnG/Tp06hIeHEx4ezvTp0xkwYABjx46loKCAZcuWAWa9d1ltIiIiIuLdrFZTfHz7dkhNNdXLg4LMaHR6OoSHmy26KzQzNC4OFi6E335j/+h46v34OQD1cv+m/y8PcFVyAnMaPYStzT0MGhTkEVPLRcSzWJzO0la6eI5du3aRmJhI165diYiIqHDbidjtdkJCQrDZbCqk5uUcDgd79+6lfv36WvckXkF9XryN+rz3Sk6GmTNN8M7LM9O/Y2JM4I6NPbXn/PPDteSPi6f95s9KHD98RgP8Hh0Lw4aZvcXcSH1evIk7+3tFM6XHh25XUeiWQvrFJN5GfV68jfq8d3M4IC0NbDaz3joq6vQLnTkcsOPLdQS/NImwpZ+UbIyIgLFj4d57oU6d03uhU74+9XnxHtUhdOtfoYiIiIjUWFYrtGxpZom3bFk5lcWtVmh2fXvClnwMv/9u9gkr3Aw8IwMeeggiIyEhASq4j6+I1FwK3SIiIiIip6ptW5g3D9avh5tvLg7fmZnw6KMmfE+ZYvYSExGvpNAtIiIiInK62rSBDz6AP/6AAQOKh9T/+QcefxyaNYPJk808dxHxKgrdIiIiIiKVJToa3n8fUlLg1luLw/e+fTB+vAnf8fGwf787r1JEqpBCt4iIiIhIZWvVCmbPNqXTBw0CHx9zfP9+eOIJE76ffNKEcRGp0RS6RURERERcpWVLs2/Zn3/CkCHF4dtmg4kTTfieMAGystx6mSLiOgrdIiIiIiKuFhUF774LGzfCHXeAr685brfDpEkmfD/+uFkDLiI1ikK3iIiIiEhVad4c3n7bhO+77ioO39nZpsp5s2Y4H3mUtFWZrFljTnM43HvJInJ6FLpFRERERKpaZCRMnw5paXDPPeDnZ44fOIDlmQTOuqgZaTc8xLi79zJqFCQnu/dyReTUKXSLiIiIiLhL06bwxhuQlkZGv3s5bPUHoFZBDrekP8uslZF0/ngMLz32PwVvkWpKoVtERERExM0cjc/mqTNfp3/HzSyNuY/DPgEABBbkcsuuqbzxXSS2O0bh2PW3m69URE6WQreIiIiIiJulpZndxQLOacxHF73CuJs3s+TckcXh23GQS5NfgHOaw/33w+7dbr5iEakohW4RERERETez2SAvD2rXNvf31z6LeV1f4rFbtvL9uQ9wyCcQAGt+Hrz8sinINmIEpKe78aqrH4fDFKdTkTqpSgrdIiIiIiJuFhICgYGQk1PyuD2oEfO7vsDInlv5pOkoHIG1TEN+Prz6KpxzDgwfDjt3Vv1FVzPJyTBqlPmsYswYc6sidVIVFLpFRERERNwsKgqio83AtdNZss3phD/+acjKvlNhy1aTGIOCTOOhQ/D66yZ833svbN9e9RdfDSQnQ3w8JCVBWBi0aGFuk5LMcQVvcSWFbhERERERN7NaYfBgCA83a7vtdjhyxNympprjgwaBtVEDePZZ2LYNHn64eD764cOmCnqLFljuuQcfjXwXcThg5kzIzDQfbAQHg4+PuY2ONsdnzdJUc3EdhW4REREREQ8QGwsTJkDHjpCVZYqrZWVBp07meGzsUSdHREBCggnfjz4KdeqY44cPY3n7bcK7dsVy112wZctpXZMr10BX1frqwiJ1jRuDxVKyzWIxx1NSzHkiruDr7gsQEREREREjNhbatzcB0GYza72josxIeKnCw2HKFDPl/IUXTJE1ux3LkSPw7rtmiHfQIHj8cTMF/SQkJ5uHp6aaIm+BgWZkePDgYz4AOAWufO5jHVuk7lhBQaYYvM1Wua8rUkgj3SIiIiIiHsRqhZYtIS7O3JYZuP/lcMDGzDDWXD+JtO+34Rg3HkdwsGksKID33oNWreD222HTpgpdgyvXQFf1+uqyitQVys017SEhlfu6IoUUukVEREREqpnCqdlz5sCQIXDffWawe/i4UEYfeJJfP/oVxxNPQL165gEFBWZouXVrM/L911/lPrer1kC7Y331iYrUpadDTIw5T8QVFLpFRERERKqRwq2vBg+GBx6AL74wRctDQ4tHjN//KoS1108wa74nTcIZGmoe7HDA7Nk4Y2Jg4EAzv/sYp7MG+kTrtN2xvrrCReqUjMRF1LVERERERKqJwqnZiYmmyJqvrwnaNhusW2d2EIuONoFyzhxw1A0hucc4Hum/jfeinsLmGwaAxeGAuXOhTRu45RaTdP9VkTXQeXnHr4GuyD7Yp/rcp+ukitSJVDIVUhMRERERqQaOnpp95pkmOPr++7/5kBATVDdtMiO34eHwxx9mFNw8JpgdnR4j8YIRXLTuNa5NeY56R/4x86s//BA++gj69YPx4wkJObdoDXTh0vCjlbYGuvDDgMxMM1pdu7Z5fFKSGYUvDLZHr6+u6HNXlpMuUidSSdTFRERERESqgcKp2bVrw2+/wb59ZrR2zx7IyDABfN8+EygDAuDgQZOnj14/faRWXX7s8gjjb93GtGbPkF0rwjy50wnz5kHbtrR49EYuD/+93DXQ0dHmQ4A1a+DPP2HGjIqt03b3+uqTLVInUhk00i0iIiIiUg3YbCbAZmaaEWEfn+KR7rw8M7U8MNDc5uebkJueDk2aHL9++pB/HZZ3eYhv9g7nnU7TiJjxLOzdC4Dl0094mE+4pFFf3jwwgbzWHQgKMq+Znm5ec+9euP9+87oFBbBzpwnTJ1qn3bKlWV+9fXvx2u6jn1vrq6UmUncWEREREakG6tYtDtxnnGEC9pEjJnz7+5u/5+WZUJyZCWefbcJreeunbUdqs+3GMbB1Kzz/PDRsWNTe5e/PeG9tLCOW9MGS/BtZWeY5wYTswu2+goJg/34z4p2ZWfrrHL1OW+urxdtopFtEREREpJqxWMya5MOHzah24Yi30wlbtsAFF8AVV8C0aRVcPx0UBA8+CMOGwfTp8Mwz8PffAHTN+JyuGZ+TfVkv3iyYwI4jnUqMaoeGmg8EcnJMxfIzzig54l3aOm2trxZvom4tIiIiIlINZGeb6de1a5uRZR8fE3D9/U3wdjrNsZYt4eaboWfPU1g/XauWmTe+ZQu8/LKp2Pavuj8sZMxHcby8uQeRGb8WHQ8JMcEbzJpyu70Cr4PWV4v3UNcWEREREakGQkJM6G7d2tzm5ZnRZX9/k41jY6FdOxg/Hs455zT3pw4MNHt+bd4Mr71mFl//K/bvr3l0QWdGfHMtkf9bhcViQnNQkPlgYN8+7YMtcjR1fRERERGRaqCw8ndOjvl7UJAJsk6nKZ62cyc0bWrWWRc67fXTgYHw3/9CWhr/e3IaewObFDWdu/NbHvn8AkZ+fTXnH/mZ6GioV89cn9ZpixTTmm4RERERkWqgcOR63TpYvtzcr1vXtGVnm2rlu3fD77+XmBVeOeunAwKIGD+MsZlDafDtDIbumUL4ge0AtEn/jjbp33F5ve783P0Jrp50EdnZWqctUkj/BEREREREqon27aFRIzMAXbgX9+HD5tgll5hp3XPmmAB+tMpYP221wq1D/fnl3Lvp124j0+PeIqNOs6L2uP3fc//HF9P6v5cTl7tM67RF/qV/BiIiIiIi1URaGvzzD1x8MVx4IXTpAl27mtuIiOI9sf8tPF7pCqert4/z55PQO+nfYSNT27xDZkjz4pN++AEuvdT8+fFH11yISDWi6eUiIiIiItWEzWYKqNWpYyqVHysoyATu3FzXXUPJ6ep+hIQMJazpbfDhXJg82TQALFsGl10G3bqZpH755SX3EhPxEhrpFhERERGpJkJCzNTynJzS2wv3xA4Kcu11HDddPcDPLDhPTYVZs8zBQsuXQ/fuZnh+8eLj9y8TqeEUukVEREREqonCCuYn2nu7USP3XB++vnDbbWaO+5w50KpVcdtPP8FVV5l58d9+q/AtXkOhW0RERESkmqjI3tu33uoBBcx8fGDgQPjjD5g713xSUOiXX+Daa+GCC+DrrxW+pcZz9z9HERERERE5CSfae7tDB3df4VF8fOCWW2D9evjwQ2jTprht9Wro0QPOPx8WLlT4lhpLhdRERERERKqZ8vbePna7MI/g4wP9+0O/fvDppxAfb4I4QGIiXH89nHee+dTg+uurVcE1h+M090CXGk+hW0RERESkGiosZlatWK1w441www2wYIEJ3+vWmbbffoM+fcxQ/YQJ0Lu3x6fX5GSYOdNM7c/LM0XsoqPNEoDYWHdfnXgKz+7FIiIiIiJS81itJnj/9ht89lnJhLp2rWmLjYWPP/bQoXsTuOPjISkJwsKgRQtzm5Rkjicnu/sKxVModIuIiIiIiHtYrdCnD441Seya9gU5rTsWt/3+u5mO3r49zJvnUeHb4TAj3JmZZmQ7ONjMoA8ONvczM83OaR50yeJGCt0iIiIiIuI2yckwarSFoZ/14rqINYyP/ZLtDeKKT9iwwawHb9vWFGMrKHDfxf4rLc1MKW/c+Pjl5xaLOZ6SYs4TUegWERERERG3OG6KdksLaa16cGvUauIv+Iactl2KT05JMZXQ27Y125C5MXzbbGYNd+3apbcHBZl2m61qr0s8k0K3iIiIiIhUuXKnaMdYWOxzDeMu/xnHN4uga9fiB6ammj3A27SBOXPMRuVVLCTEFE3LySm9PTfXtIeEVO11iWfymND9zz//8PPPP5OZmenuSxERERERERer0BTtVAtpza+ClSth8WK46KLik/76C267DWJizALqKgzfUVHmg4L09OO3F3c6zfGYGHOeiEeE7g8//JCoqCiGDx/O2WefzYcffgjAhg0biIuLIzQ0lLFjx+I8qkeX1yYiIiIiIp7tpKZoWyzQvTssXw5Ll8IllxSfuGmT2aMrOhpmzIDDh11+7VarecnwcPPBgd1uMr/dbu6Hh8OgQR6/45lUEbd3g/379zNixAhWrFhBcnIyb775Jg8//DD5+fn06tWLjh07kpiYSEpKCjNmzAAot01ERERERDzfKU3Rtljgssvgxx/Nn8suK25LS4MhQ6B1a3jnHZeH79hYs514x46QlWVePisLOnUyx7VPtxSyON08RLxz506WL1/OwIEDAfj999+56KKLmDVrFkOHDiU9PZ2goCDWrVvH8OHDWblyJQsWLCizrSz5+fnk5+cX3bfb7TRp0oR9+/YRHBzs8vcpnsvhcJCRkUFERARWfRwpXkB9XryN+rx4m+rS5x0OGDvWFFGLji45xdzpNCPGnTrB//3fCUaMV6zAMmkSliVLShx2NmuG85FHzJC0v79r3gTmfWzebEbkQ0LgnHM0wl2V3Nnf7XY7oaGh2Gy2cjOl20P30Q4fPswdd9yB1WolMjKS1atX8/XXXwPgdDo544wzyMrKYuLEiWW2leXJJ59k4sSJxx3fuHEjdevWdc0bkmrB4XBgs9kICQnx6F9MIpVFfV68jfq8eJvq1Oc3bza7gNntZkp2QADk55viasHBcPPNJsRWhN+vv1Jn6lQCli8vcbzgrLM4MHIkB/v3Ny8gNYo7+3t2djYtW7Y8Yej2rcJrKte6deu47LLL8Pf3588//2TSpElERkYWtVssFnx8fNi3bx92u73MttDQ0FKf/9FHH2XUqFFF9wtHuiMiIjTS7eUcDgcWi8XjPw0WqSzq8+Jt1OfF21SnPl+/PtSqBbNnwx9/mDXcgYGmCNmtt0KHDifxZD17Qs+eOH75BUt8PJbvvgPAZ9cuQh5+mOBXX8X58MMwdKjCdw3izv4eGBhYofM8JnS3a9eOJUuWMGbMGIYMGULLli0JOOYfQ2BgILm5ufj6+pbZVlboDggIOO4xAFar1eN/GInrWSwW9QXxKurz4m3U58XbVKc+f955JlynpRVP0Y6KOo0p2hdeCIsWwerVMHEifPMNAJadO7Hcdx88/TQ88gjceadJ+B7C4ajEr4GXcVd/r+jrecy30WKxEBsby4wZM/j8888JCwsjIyOjxDnZ2dn4+/uX2yYiIiIiItWL1QotW0JcnLmtlOzUuTN8/TX8+qsZBS+0axeMGGHmrb/8Mhw8WAkvdnqSk2HUKHNZY8aY21GjzHGp/tweupcuXcrYsWOL7vv6msH31q1bs2rVqqLj27ZtIz8/n7CwMOLi4spsExERERERKRIXBwsXQmIiXH998fHdu+H++6F5c3jxRVMu3Q2SkyE+3hSUCwuDFi3MbVKSOa7gXf25PXS3bt2aN998k+nTp7Nz504eeeQRrrrqKnr06IHNZmPWrFkAJCQk0L17d3x8fOjWrVuZbSIiIiIiIsfp2BE+/xx++w369Ck+vmcPPPigCd9Tp5a9h5kLOBwwc6YpHBcdbYrH+fiY2+hoc3zWLHOeVF9uD91nnnkm8+fP58UXX6RNmzbk5uYye/ZsfH19mT59OsOGDaNBgwZ8/PHHJCQkAJTbJiIiIiIiUqbYWPjsMxy/rSX76v8UH//f/8zc7ubN4dlnqyR8p6WZrdEaNy65ZRqY+40bQ0qKOU+qL48opHb11VeTkpJy3PE+ffqwadMmEhMT6dq1KxERERVqExERERERKUtyMsyc2Z5U58ec2XE9Q9IncdH/PsaKE/buhYceMhuEjxkDw4dDnTouuQ6bzVRsr1279PagIDML3mZzyctLFXH7SPeJnHXWWfTu3bvUUF1em4iIiIiIyLGOXUPt06Et0y6bx+DY9aw4qz/OwiHnzExT5bxZM1PxPDu70q8lJMQUUC9rUD0317SHhFT6S0sV8vjQLSIiIiIiUhnKW0Ndq1MbHov8kGdu3YDz5luK53v/8w889pgJ3089BXZ7pV1PVJS5jvR0cDpLtjmd5nhMjDlPqi+FbhERERER8QoVWUP9w/9i2DRxrllMfeutxfuXZWXBuHHQtKkZKq+EOd9WKwweDOHh5rrsdjhyxNympprjgwZpv+7qTt8+ERERERHxChVZQ52X92+ebt0aZs826ffo5Lt/PzzxhAnfTz5p7p+G2FiYMMEUV8/KMh8MZGVBp07meGzsaT29eACPKKQmIiIiIiLiakevoQ4OPr691DXULVuaOenjx5vp5bNnQ0GBSeYTJ8ILL5j9vh94wCwSPwWxsdC+vQncNpt5/agojXDXFPo2ioiIiIiIVzitNdRRUfDee/DXXzB0KPj+O35pt8OkSWbN97hxZg34KbBaTb6PizO3Ctw1h76VIiIiIiLiFSplDfU558A778DGjXDnncXhOzvbjIQ3awaPPmqqtYmg0C0iIiIiIl6k0tZQR0bCW2/Bpk1w993g52eOHzgACQkmfD/8MGRkuOqtSDVhcTqPnVjhHex2OyEhIdhsNoJLW9AhXsPhcLB3717q16+PVfN4xAuoz4u3UZ8Xb6M+XzEORyWvod6xw4Ttd96BQ4eKjwcFwb33wtix0KDBaV+3lOTO/l7RTKl/hSIiIiIi4nUqfQ312WfD66+bJD98OE5/f3M8NxemTsUZGQmjRsGePad97VK9KHSLiIiIiIhUliZNSL7jVZ68bQsLzh5BviUAAMvBg6bSeWSkqXS+e7d7r1OqjEK3iIiIiIhIJUlOhvh4WPrXWXzU9WUe67+Fb1reT7410JyQlwcvvQTNm8PIkbBr10m/hsNh6ritWWNuHY5KfhNSqbRPt4iIiIiISCVwOMyW3pmZZmsyiwUOcCYLLn2RJXGP0OmHZ7lh7zT8jxyE/Hx45RV4801TBf2RR6BJkxO+RnKyeY3UVJPfAwPNaw0efBJF4KRKaaRbRERERESkEqSlmTDcuLEJ3EfLrt2Qz7tN5bYLt5I1dIwpsAam6Nrrr5utyO691xRkK0PhKHpSEoSFQYsW5jYpyRxPTnbhm5NTptAtIiIiIiJSCWw2M/pcu3bp7UFBsMfZgM3DnoVt28yWYoUnHz4Mb7xhyqjfc49pP8qxo+jBweDjY26jo83xWbM01dwTKXSLiIiIiIhUgpAQM907J6f09txc0x4SAkREmC3Gtm2Dxx6DOnXMSYcPw/TpZhj7rrtgyxag/FF0i8UcT0kx54lnUegWERERERGpBFFRZtQ5PR2czpJtTqc5HhNjzisSHg5PPQXbt8O4cVC3rjl+5Ai8/bbZz2zoUPL+2HzCUfS8PDPaLp5FoVtERERERKQSWK2moFl4uBmVtttNdrbbzf3wcBg0qIw9wcPCYNIkE74nTPh3OBwoKID33qNtv1Y8nnY7dfaUPpRdYhS9HKp8XvVUvVxERERERKSSxMaazFxYYXz3bhOGO3UygfuEFcZDQ2HiRHjwQbO12Isvwv79WAoKuGr3TK7YPZtfowby9Xnj2FuvJVA8it6p0zGj6MdQ5XP3UOgWERERERGpRLGx0L69WV9ts5nR56ioMka4y1KvHjzxBDzwALz8MrzwAuzbhw8OLkibTefN77O6+S183Gocv9pblz+KTnHl88xMs/67dm2z9jwpqXhwXcHbNTS9XEREREREpJJZrWY5dlycuT2pwH20kBAYP94UXHvqKY6EhJnndzq4YPP7PPt1DC9mDGDKrSllhmZVPncvhW4RERERERFPFxwMjz2G785tOKY8TUG9MwCw4qTjXx8Q3e9c6N8fNmw47qGqfO5eCt0iIiIiIiLVRd26WB99BJ+d2+CZZ0x1NjALu+fNg7ZtoV8/WL++6CEV2T9clc9dR6FbRERERESkuqlTBx56yEw7f/ZZqF+/uO3jj6FdO/jPf2DdupPbP1wqnUK3iIiIiIhIdVW7NowZA1u3wtSp0KBBcdunn0KHDrQY24fuZyRXaP9wbSlW+VS9XEREREREpLoLCoJRo2DYMJg+3Uw937MHAMsXnzOWz7mkYS+mZ08gJ7oTQUFmhDs9vXj/8HXr3L+lmMNxmlXfPZBCt4iIiIiISE0RFGS2GbvnHnj7bUhIMJuFA+fvWcj5exayelcP3m3yBFkRcUX7h0Plbil2KuG5pu4jrtAtIiIiIiJS09SqBSNGwF13wTvvmPCdng5A58yv6Jz5FTndrqXWTU9A+86MGlW8pVhhhfPCLcVSU82WYu3bV2zU+VTCc03eR7yaD9SLiIiIiIhImQIDYfhwM+z8+uvQpElRU+3l32Dt2oWDl1wDv/xSKVuKFYbnpCQIC4MWLcxtUpI5npx8/GNq+j7iCt0iIiIiIiI1XUAA3HsvbNoEb74JTZsWNdVeuYgXf+3K+OVXcs6elYApsGazQUYGHDkCBw+eeEuxUw3PNX0fcYVuERERERERbxEQAHffbUqTv/UWNGtW1BSz+3se+uJihn92BYe+X85PP8Evv8DKlWaK965d5T/1qYbnmr6PuEK3iIiIiIiIt/H3hzvvhI0bcbz1DpkhzYua2mUsZcbWS5ifeRndfX/kyBEz2j1jRunTwwudaniu6fuIK3SLiIiIiIh4Kz8/rHcOZed3f/Jy7Hts9YkqauqS9yOz0y/jy+xLuDNyCf9kOstdW32q4Tkqykw/r8g+4tWRQreIiIiIiIiXiz3fj7Mn3M4VZ6YyMmQmm31aFLV1zl/OxJ+689ZfFxO4YjFpm5ylPsephmer1VQ2Dw8309PtdjOybreb+4X7iFfX/bqr6WWLiIiIiIhIZTrrLGjczJe/rxzEQz1SeKXzHPaEtCpqb535E08nXcWZ/S6Eb789LlmfTniOjTXbgnXsCFlZZt13VhZ06lS9twsD7dMtIiIiIiIimGnftWqBry8Eh/myoeFA/mh7M522zOO63yZx5v5UAOqs/wWuvRY6dzaJ+NpriyqnFYbnwn26d+82U8o7dTKBu7zwHBtr9gJPSzPrvkNCzKh4dR3hLqTQLSIiIiIiIkXTw5OSzK3FAk6rD2uibmFN5E00XPkx92bE0zArxTxg9Wro0QPi4kzS7tEDLJbTCs9WK7Rs6dr3WdWq+WcGIiIiIiIiUhnKmx6e8pcPv0f35+/v1sO8eXDuucUPXLMGevUy4fuLL8DpLArPcXHmtrqPVp8OL37rIiIiIiIicrQTrq3uaIV+/WDdOvjkEzOkXSgpCXr3hvPOg88+K7vMuZfR9HIREREREREpUqHp4VYr3HAD9OljRrfj44s38V671rS1a2eSet++Xj3U7b3vXEREREREREpV4enhVqsJ3klJJnx37Fjc9vvvcOON0KEDzJ/vtSPfCt0iIiIiIiJyeiwWs657zRr48kuT1gutXw833QRt28KHH0JBgfuu0w0UukVERERERKRyWCymivnq1fD112ZbsUIpKXDLLSZ8z53rNeFboVtEREREREQql8Vi9u/+5RdYtAi6di1uS02FgQOhTRuYM8eUSK/BFLpFRERERETENSwWuOoqWLkSFi+Giy4qbvvrL7jtNoiJgVmzamz4VugWERERERER17JYoHt3WL4cliyBbt2K2zZtMhuER0fDjBk1Lnx7ROj+/PPPad68Ob6+vnTu3JnU1FQANmzYQFxcHKGhoYwdOxan01n0mPLaRERERERExANZLHD55bBsGfzwA1x6aXFbWhoMGQKtWsG778Lhw267zMrk9tC9efNmhgwZQkJCArt27aJp06bceeed5Ofn06tXLzp27EhiYiIpKSnMmDEDoNw2ERERERERqQYuvdQE72XLTBAvtGUL3HGHmXZ+8KDbLq+y+Lr7AlJTU5kyZQo33XQTAPfeey/XXHMN33zzDTabjeeff56goCCmTJnC8OHDGTJkSLltZcnPzyc/P7/ovt1uB8DhcODw0v3ixHA4HDidTvUD8Rrq8+Jt1OfF26jPS7Vz0UVmvffKlVji47EsWQKAs3NnnAEB5e7v7c7+XtHXdHvo7tmzZ4n7f/31F1FRUaxbt44uXboQFBQEQLt27UhJSQEot60sTz/9NBMnTjzueEZGBnl5eZXxVqSacjgc2Gw2nE4nVqvbJ3+IuJz6vHgb9XnxNurz4gkcDvj7b8jNhaAgaNQITtgdW7aEOXPwW7OGOi++iH3YMAr27j3B67ivv2dnZ1foPLeH7qMdOnSI5557jgcffJAtW7YQGRlZ1GaxWPDx8WHfvn3Y7fYy20JDQ0t97kcffZRRo0YV3bfb7TRp0oSIiAiCg4Nd96bE4zkcDiwWCxEREfrFJF5BfV68jfq8eBv1eXG3tWth9myzM1heHgQGmhppt90GHTpU4Al69IAePTijAqe6s78HBgZW6DyPCt3jxo2jTp063H333YwbN46AgIAS7YGBgeTm5uLr61tmW1mhOyAg4LjHAFitVv0wEiwWi/qCeBX1efE26vPibdTnxV2Sk2HSJMjMhMaNoXZtyMmBxETYtg0mTIDY2Mp9TXf194q+nsf8K1y8eDFvvPEGc+fOxc/Pj7CwMDIyMkqck52djb+/f7ltIiIiIiIiUvUcDpg50wTu6GgIDgYfH3MbHW2Oz5pV7hLtGskjQveWLVsYOHAg06ZNIyYmBoC4uDhWrVpVdM62bdvIz88nLCys3DYRERERERGpemlpZkp548ZmZ7CjWSzmeEqKOc+buD10Hzx4kJ49e9KnTx969+7NgQMHOHDgABdffDE2m41Zs2YBkJCQQPfu3fHx8aFbt25ltomIiIiIiEjVs9nMGu7atUtvDwoy7TZb1V6Xu7l9TfeiRYtITU0lNTWVt956q+j41q1bmT59OgMGDGDs2LEUFBSwbNkyAHx9fctsExERERERkaoXEmKKpuXkmCnlx8rNNe0hIVV/be7k9tDdp08fnE5nqW3NmjVj06ZNJCYm0rVrVyIiIko8rqw2ERERERERqVpRUWbtdlKSuT16irnTCenp0KmTOc+buD10n8hZZ53FWWedddJtIiIiIiIiUnWsVhg8GLZvL17bHRRkRrjT0yE8HAYNqsB+3TWMl71dERERERERcZXYWLMtWMeOkJVliqZlZZkRbldsF1YdePxIt4iIiIiIiFQfsbHQvr0J3DabWcMdFeV9I9yFFLpFRERERESkUlmt0LKlu6/CM3jpZw0iIiIiIiIirqfQLSIiIiIiIuIiml4uIiIiIiIip8Xh0Brusih0i4iIiIiIyClLToaZM802YXl5EBho9ukePNg7q5UfS6FbRERERERETklyMsTHQ2am2Ze7dm3IyYGkJLNft7duE3Y0DfiLiIiIiIjISXM4zAh3ZqYZ2Q4OBh8fcxsdbY7PmmXO82YK3SIiIiIiInLS0tLMlPLGjcFiKdlmsZjjKSnmPG+m0C0iIiIiIiInzWYza7hr1y69PSjItNtsVXtdnkahW0RERERERE5aSIgpmpaTU3p7bq5pDwmp2uvyNArdIiIiIiIictKiosza7fR0cDpLtjmd5nhMjDnPmyl0i4iIiIiIyEmzWs22YOHhZm233Q5Hjpjb1FRzfNAg7dft5W9fRERERERETlVsrNkWrGNHyMoyRdOysqBTJ20XVkj7dIuIiIiIiMgpi42F9u1N4LbZzBruqCiNcBdS6BYREREREZHTYrVCy5buvgrPpM8eRERERERERFxEoVtERERERETERRS6RURERERERFxEoVtERERERETERRS6RURERERERFxEoVtERERERETERRS6RURERERERFxEoVtERERERETERRS6RURERERERFxEoVtERERERETERRS6RURERERERFxEoVtERERERETERRS6RURERERERFxEoVtERERERETERXzdfQHu4nQ6AbDb7W6+EnE3h8NBdnY2gYGBWK36HEpqPvV58Tbq8+Jt1OfFm7izvxdmycJsWRavDd3Z2dkANGnSxM1XIiIiIiIiItVVdnY2ISEhZbZbnCeK5TWUw+Fg9+7d1K1bF4vF4u7LETey2+00adKEnTt3Ehwc7O7LEXE59XnxNurz4m3U58WbuLO/O51OsrOzOfPMM8sdZffakW6r1Urjxo3dfRniQYKDg/WLSbyK+rx4G/V58Tbq8+JN3NXfyxvhLqRFHiIiIiIiIiIuotAtIiIiIiIi4iIK3eL1AgICeOKJJwgICHD3pYhUCfV58Tbq8+Jt1OfFm1SH/u61hdREREREREREXE0j3SIiIiIiIiIuotAtIiIiIiIi4iIK3SIiIiIiIiIuotAtIiIiIiIi4iIK3SIiIiIiIiIuotAtXuXzzz+nefPm+Pr60rlzZ1JTUwHYsGEDcXFxhIaGMnbsWFTUX2qia665hhkzZgDq81LzPfLII/Tq1avovvq81FSzZ8/m7LPPpk6dOnTv3p1t27YB6vNSs/zzzz9ERkYW9W8ov497Wv9X6BavsXnzZoYMGUJCQgK7du2iadOm3HnnneTn59OrVy86duxIYmIiKSkpRcFEpKZ4//33WbRoEYD6vNR4GzZs4PXXX+fFF18E1Oel5tq8eTOPP/44CxYsICUlhaZNm3L77berz0uNkpmZSc+ePUsE7vL6uEf2f6eIl1i4cKFz2rRpRfeXLl3q9Pf3d3722WfO0NBQZ05OjtPpdDrXrl3rvPDCC911mSKV7p9//nE2aNDA2apVK+d7772nPi81msPhcHbt2tU5fvz4omPq81JTzZ8/39mvX7+i+ytWrHA2atRIfV5qlCuuuML54osvOgHn1q1bnU5n+T/XPbH/a6RbvEbPnj0ZNmxY0f2//vqLqKgo1q1bR5cuXQgKCgKgXbt2pKSkuOsyRSrd6NGj6du3L126dAFQn5ca7a233mLt2rVERkby5ZdfcvjwYfV5qbFiYmJYunQpycnJ2Gw2XnvtNa688kr1ealRpk+fzv3331/iWHl93BP7v0K3eKVDhw7x3HPP8d///he73U5kZGRRm8ViwcfHh3379rnxCkUqxw8//MCSJUt45plnio6pz0tNdeDAAcaNG0eLFi1IT0/n+eefp1u3burzUmPFxMRw4403ct5551GvXj1Wr17Nc889pz4vNUrz5s2PO1ZeH/fE/q/QLV5p3Lhx1KlTh7vvvhtfX18CAgJKtAcGBpKbm+umqxOpHHl5edxzzz1MmzaN4ODgouPq81JTffrpp+Tk5LB06VLGjx/Pd999x/79+3n33XfV56VGWrVqFQsXLmT16tVkZ2dzyy23cN111+nnvNR45fVxT+z/Ct3idRYvXswbb7zB3Llz8fPzIywsjIyMjBLnZGdn4+/v76YrFKkckyZNIi4ujh49epQ4rj4vNVV6ejqdO3cmLCwMMP8pa9euHXl5eerzUiN99NFH3HzzzZx//vnUqVOHyZMns2XLFv2clxqvvD7uif3f122vLOIGW7ZsYeDAgUybNo2YmBgA4uLiePvtt4vO2bZtG/n5+UX/aROprubOnUtGRgb16tUDIDc3l3nz5tGsWTMOHz5cdJ76vNQUTZo04eDBgyWObd++nalTp/LCCy8UHVOfl5riyJEjJabMZmdnk5OTg6+vL6tWrSo6rj4vNU15/3/3xP/ba6RbvMbBgwfp2bMnffr0oXfv3hw4cIADBw5w8cUXY7PZmDVrFgAJCQl0794dHx8fN1+xyOlZsWIFGzZsYO3ataxdu5brr7+e+Ph4li9frj4vNVKPHj1ITU3ljTfeID09nZdffpm1a9dy1VVXqc9LjXThhRfy6aef8sILLzB37lz69OlDgwYNGDlypPq81GjdunUrs4+X1+YuFqfTzTuFi1SRBQsW0Ldv3+OOb926lbVr1zJgwADq1q1LQUEBy5Yto02bNm64ShHXuf3227n00ku5/fbbWbBggfq81EirVq1i9OjRJCcn07BhQ55//nn69OmjPi81ktPpJD4+nnfffZe///6bc889l7feeouOHTuqz0uNY7FY2Lp1K82aNQMot497Wv9X6Bb5165du0hMTKRr165ERES4+3JEXE59XryN+rx4G/V5qenK6+Oe1P8VukVERERERERcRGu6RURERERERFxEoVtERERERETERRS6RURERERERFxEoVtERERERETERRS6RUREvEROTs5xxwoKCir02O+//54tW7aUOJadnU1mZmalXJuIiEhNpdAtIiLiBXJzc2nUqBHTpk0rcTwhIYErrrii1EB+tAceeIDFixeXODZr1iyio6PJzs6u9OsVERGpKXzdfQEiIiLiet9++y25ublcc801Rcfy8/OZPn06e/bsYdu2bbRp06bMxwcGBhIQEFB03+l08vrrrxMbG8vnn39e4txevXoREhJS+W9CRESkGlLoFhER8QKvv/46ffv2JTIyssSxAwcOcP/993PrrbeyYsUK6tSpU9TucDg4ePBgibB9+PBhfHx8+PDDD/nrr7/o0qULP/74IwBr1qwhJyeHAQMGVNn7EhER8XQWp9PpdPdFiIiIiOskJydz3nnnsXDhQnr27AlAWloasbGxvPrqq9x2221cd9115Ofns3DhwqLgnZaWRosWLY57vm+//ZbBgwdz5MgRpk6dyuDBgzl8+DAtW7bkwQcfZOTIkVX6/kRERDyZ1nSLiIjUcGPGjAEoCtO7du3i2muvpV+/fgwePBir1cr8+fPJzs6mU6dOJCcnAxAZGcmePXtYuHAhANOmTeOff/7hrbfe4rzzzuPLL7/kkUceYceOHTz77LP4+/tz5513uudNioiIeChNLxcREanB5syZw8qVK4umiK9atYp+/frRoUMH3nzzzaLz6taty9KlS7nxxhvp1KkT9913Hy+99BINGjRg5cqVAGzfvp0dO3bw9ttvc/jwYSIiIhgyZAiXX3456enpLFu2jKCgILe8TxEREU+lkW4REZEaKjU1lWHDhjFq1Cjq1KmDw+FgzJgxdO/enZEjR3LvvfcWnbtz505uuukm3njjDRISEujRowdgCqZ98MEHWCwW5s2bxwMPPEC9evWIiIjg0KFDWCwWtm3bRlBQEOnp6WjVmoiISEkK3SIiIjVU06ZNGT58OBMmTADAarWyePFi3nvvPTIzM1m0aFHRuUeOHGHRokUUFBQwduxYrrrqKgC++OILjhw5Qtu2bRkxYgQ7d+4kOTmZqVOnEh0dzc8//0xqaioJCQnccccdtGrViieeeIKUlBS3vGcRERFPo9AtIiJSQwUFBfHMM89Qq1atomOFf8/Pz6dhw4ZFx/38/ErcFnrmmWcYM2YMfn5+1KtXjy+//JIuXbrw4YcfMmXKFJYuXUqLFi24++672bx5M/379+f111/H4XBUwTsUERHxfArdIiIiXig7O7tE6C7NJ598wvbt2xk2bFjRsejoaDZv3kxsbCwDBgygVq1aBAYGEhgYSKNGjZg8eTLJycmce+65rn4LIiIi1YJCt4iIiBfasWPHCUN3UFAQzz//fImRcoDGjRsTEBDAZZddRl5eXtGf7777DoCQkBCXXbeIiEh1o+rlIiIiXsbpdPLNN9+UKKRWmmuvvbbMNqu17M/tLRbLKV+biIhITaPQLSIi4gUKCgqK/v7WW28Vrb+uKIfDUaIyucPh4IcffiAwMLDEsWNfS0RExNtpermIiIgXyM/Pp6CggA8++IARI0YwadIkwsPDi9oPHz4MmCrmpTl06BD5+fklnq+s6eUHDx504TsRERGpXixObagpIiJS4/n7+/PZZ5+xcuVK9u3bx7Rp00pMA//zzz+Jjo5m/fr1pRZB27VrF8HBwdStWxeA3NxcnE4ntWvXrrL3ICIiUh0pdIuIiHgZp9OpddciIiJVRNPLRUREvIwCt4iISNVR6BYRERERERFxEYVuERERERERERdR6BYRERERERFxEYVuERERERERERdR6BYRERERERFxEYVuERERERERERdR6BYRERERERFxkf8HmX4Jwka6sLUAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1000x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.linear_model import LinearRegression\n",
    "from sklearn.metrics import r2_score\n",
    "\n",
    "# 1. 读取数据\n",
    "df = pd.read_csv('data/pricing_data.csv')\n",
    "\n",
    "# 2. 选择自变量和因变量\n",
    "x = df[['Price']] \n",
    "y = df['Sales']\n",
    "\n",
    "# 3. 训练线性回归模型\n",
    "model = LinearRegression()\n",
    "model.fit(x, y)\n",
    "\n",
    "# 4. 查看模型参数\n",
    "print(\"线性回归模型参数\")\n",
    "print(f\"斜率 (系数): {model.coef_[0]:.4f}\")\n",
    "print(f\"截距: {model.intercept_:.4f}\")\n",
    "\n",
    "# 5. 绘制回归图\n",
    "plt.figure(figsize=(10, 6))\n",
    "\n",
    "# 绘制原始数据点\n",
    "plt.scatter(x, y, color='blue', alpha=0.6, label='实际数据')\n",
    "\n",
    "# 生成预测线\n",
    "x_pred = pd.DataFrame(np.linspace(x.values.min(), x.values.max(), 100), columns=['Price'])\n",
    "y_pred = model.predict(x_pred)\n",
    "\n",
    "# 绘制回归线\n",
    "plt.plot(x_pred, y_pred, color='red', linewidth=2, label='回归线')\n",
    "\n",
    "\n",
    "plt.title('价格与销售量的线性回归分析', fontsize=14, pad=20)\n",
    "plt.xlabel('价格', fontsize=12)\n",
    "plt.ylabel('销售量', fontsize=12)\n",
    "plt.legend(fontsize=11)\n",
    "plt.grid(True, alpha=0.3)\n",
    "\n",
    "# 添加回归方程文本\n",
    "equation = f'y = {model.coef_[0]:.2f}x + {model.intercept_:.2f}'\n",
    "\n",
    "plt.text(0.05, 0.95, equation, transform=plt.gca().transAxes, \n",
    "         fontsize=12, verticalalignment='top',\n",
    "         bbox=dict(boxstyle='round', facecolor='white', alpha=0.8))\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "6f3585ed-11e8-47c6-8198-38b2b0a4c3a1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "120\n"
     ]
    }
   ],
   "source": [
    "def factorial(n):\n",
    "    if n < 0:\n",
    "        raise ValueError(\"阶乘只能计算非负整数\")\n",
    "    if n == 0 or n == 1:\n",
    "        return 1\n",
    "    result = 1\n",
    "    for i in range(2, n + 1):\n",
    "        result *= i\n",
    "    return result\n",
    "\n",
    "print(factorial(5))  # 输出 120"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "2f673127-614c-48b1-a8d9-aa8b1c7b1954",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "True\n",
      "False\n"
     ]
    }
   ],
   "source": [
    "ret = True\n",
    "ret2 = False\n",
    "def is_prime(n):\n",
    "    if n <= 1:\n",
    "        return ret2\n",
    "    if n == 2:\n",
    "        return ret\n",
    "    \n",
    "    # 检查从3到√n的奇数\n",
    "    for i in range(2, int(n**0.5) + 1):\n",
    "        if n % i == 0:\n",
    "            return ret2\n",
    "    return True\n",
    "\n",
    "# 测试\n",
    "print(is_prime(17))  # 输出 True\n",
    "print(is_prime(9))   # 输出 False"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "aa1157a8-ec82-470f-8d96-a6a603687877",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "olleh\n"
     ]
    }
   ],
   "source": [
    "def reverse_string(s):\n",
    "    s1 = \"\"\n",
    "    for char in s:\n",
    "        s1 = char + s1\n",
    "    s = s1\n",
    "    return s\n",
    "\n",
    "# 测试\n",
    "print(reverse_string(\"hello\"))  # 输出 \"olleh\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "6ecfa093-5059-496d-809f-a506550d25e1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0, 1, 1]\n"
     ]
    }
   ],
   "source": [
    "a,b = 0,1\n",
    "def fibonacci(n):\n",
    "\n",
    "    if n <= 0:\n",
    "        return []\n",
    "    elif n == 1:\n",
    "        return [a]\n",
    "    elif n == 2:\n",
    "        return [a, b]\n",
    "    \n",
    "    result = [a, b]\n",
    "    for i in range(2, n):\n",
    "        term = result[i-1] + result[i-2]\n",
    "        result.append(term)\n",
    "    \n",
    "    return result\n",
    "\n",
    "# 测试\n",
    "print(fibonacci(3))  # 输出 [0, 1, 1, 2, 3, 5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "019462ee-236e-44a4-9daa-9ba7ee493e9e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "9\n"
     ]
    }
   ],
   "source": [
    "def find_max(lst):\n",
    "    \n",
    "    max_val = lst[0]\n",
    "    for num in lst[1:]:\n",
    "        if num > max_val:\n",
    "            max_val = num\n",
    "    return max_val\n",
    "\n",
    "# 测试\n",
    "print(find_max([3, 7, 2, 9, 1]))  # 输出 9"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "bfec5b1d-79f5-42c7-b2b0-f33e4ad72d06",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python [conda env:base] *",
   "language": "python",
   "name": "conda-base-py"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.13.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
